1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | using UnityEngine; using System.Collections; /// <summary> /// Generic을 활용한 SingleTon, 참조 사이트 : https://mrhook.co.kr/266 /// </summary> namespace MH_Engine { public class Generic_SingleTon<T> : MonoBehaviour where T : MonoBehaviour { protected static T instance = null; public static T Instance { get { instance = FindObjectOfType(typeof(T)) as T; if (instance == null) { instance = new GameObject(typeof(T).ToString(), typeof(T)).AddComponent<T>(); } return instance; } } protected void Set_SingleTon(GameObject _object) { if (null == instance) { DontDestroyOnLoad(_object); } else { Destroy(_object); } } } } | cs |
유니티 1년만에 키니까 하나도 기억안나네;
FindObjecrOfType 웬만하면 쓰지 마셈. 크래시 ㅈㄴ 남
실제로 쓰려면 보완더 해야됨 당장에 OnDisable에서 Instance호출하면 뻑날껄 ㅋㅋ
모노비헤이비어를 싱글톤으로 쓰려는 발상 자체가 문제가 많다. 그냥 씨샵 클래스를 싱글톤으로 써