디자인 패턴, 컴포넌트 패턴, 싱글톤 패턴

jinsuk·2023년 9월 12일

디자인 패턴

  • 코드를 작성하는 방법론

컴포넌트 패턴

  • 모든 코드를 부품화해서 관리
    • 장점 : 종속성 제거

Monobehaviour 가 붙어야만 게임오브젝트에 컴포넌트로 붙일 수 있다.
없으면 일반적인 c#파일로 사용 가능.

  • 씬에는 꼭 실체가 없어도 게임오브젝트로 활용 가능하다.

싱글톤 패턴

  • static 객체를 하나두고 null일때는 채워넣어서 다른 클래스 불러올때 하나의 객체에만 접근함으로써 유일성을 보장할 수 있다.
  • 전역에서 어떤 기능을 사용하고 싶으면 Managers.Instance 와 같은식으로 사용할 수 있다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Managers : MonoBehaviour
{
    static Managers s_instance; // 유일성이 보장된다
    static Managers Instance { get { Init(); return s_instance; } } // 유일한 매니저를 갖고온다
    void Start()
    {
        Init();
	}

    void Update()
    {

    }

    static void Init()
    {
        if (s_instance == null)
        {
			GameObject go = GameObject.Find("@Managers");
            if (go == null)
            {
                go = new GameObject { name = "@Managers" };
                go.AddComponent<Managers>();
            }

            // 씬 이동을 하더라도 삭제가 되지 않는다.
            DontDestroyOnLoad(go);
            s_instance = go.GetComponent<Managers>();
		}		
	}
}
profile
공부기록용

0개의 댓글