유니티로 무언가 만들기로 한다음부터 무척이나 많은걸 배우고 있다.
확실히 기획자와 프로그래머를 나누는 이유가 있었던 듯 하다.
당사자들은 아무렇지도 않은 것처럼 이야기들하지만,
무엇보다 어느정도 프로그래머들의 이야기를 알아듣기까지 정말 오랜 시간이 걸린듯 하다.
아니면 그냥.... 내가 느린것인가..
어느 상태에서든 접근하기 쉬워야하는 클레스나 데이터를 만들어야만 할 때, 사용하는 싱글턴.
많은 싱글턴 방식이 있지만, 유니티에 가장 적합한 방식이 이것인것 같아 넣어둔다.
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
|
using UnityEngine;
using System.Collections.Generic;
public abstract class MonoSingleton<T> : MonoBehaviour where T : MonoSingleton<T>{
protected static T _instance = null;
public static T Instance
{
get
{
if (_instance == null)
{
_instance = GameObject.FindObjectOfType(typeof(T)) as T;
if (_instance == null)
_instance = new GameObject(typeof(T).ToString()).AddComponent<T>();
}
return _instance;
}
}
protected void Awake(){ _instance = this.transform.GetComponent<T>(); }
public virtual void Init(){}
public virtual void Destroy(){ Destroy(this);}
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5; text-decoration:none">Colored by Color Scripter
|
'Unity' 카테고리의 다른 글
[Unity3D] Random.Range 범위 (0) | 2019.06.14 |
---|---|
[Unity3D] 게임 저장은 Json을 쓰기로... (0) | 2019.05.22 |
[Unity3D] C# CSV 사용법 (0) | 2019.05.16 |
[Unity3D] Pixel Perfect 공식 (0) | 2019.05.15 |
[Unity3D] 저장 경로 (0) | 2019.05.15 |