thewar_client/Client/Assets/1_Script/System/SingletonMonoBehaviour.cs

41 lines
812 B
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SingletonMonoBehaviour<T> : MonoBehaviour where T : SingletonMonoBehaviour<T>
{
static public T Instance { get; private set; }
void Awake()
{
if (Instance == null)
{
Instance = (T)this;
OnAwake();
}
else
{
Debug.Log("1개이상의 싱글턴이 존재합니다" + gameObject.name);
Debug.Log("같은 함수가 들어간 싱글턴을 제거해 주세요");
//Destroy(gameObject);
}
}
void Start()
{
if (Instance == (T)this)
{
OnStart();
}
}
virtual protected void OnAwake()
{
}
virtual protected void OnStart()
{
}
}