
Monobehaviour 가 붙어야만 게임오브젝트에 컴포넌트로 붙일 수 있다.
없으면 일반적인 c#파일로 사용 가능.
- 씬에는 꼭 실체가 없어도 게임오브젝트로 활용 가능하다.
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>();
}
}
}