1 | public abstract class MonoSingleTon<T> : MonoBehaviour where T : MonoSingleTon<T> |
이라는 클래스를 만들어 MonoSingleTon으로 유용하게 사용하고 있었다.
그 안에는 static 으로 만들어진 Instance가 존재했기 때문에 소스코드 어느 곳에서든
적재적소에 불러서 사용하기 편한 클래스였다.
오늘도 마찬가지로 MonoSingleTon을 상속받는 클래스를 하나 만들어
UnityEngine에서의 Awake와 Update문에 필요 A라는 소스코드를 작성해 놓았는데,
이 망할..얾니아ㅓㅏㅣㄴㅁ어ㅣㅏㄴㅁㅇㄹ 이 디버그도 안찍히도 돌아가지도 않길래
뭔가 이건 대체 뭔가 하고 핵 똥멍청이파스칼같은 고민을 하고있던 중.
설마 하는 마음으로 A를 씬에 존재하는 다른 스크립트를 통해 Init() 가상의 함수로 불러보았다.
아니나 다를까 Awake, Update 뿐만 아니라 다른 함수들도 잘 돌아가더라.
알고보니 까맣게 생각하지도 않고 있었던 문제였다.
Abstract 클래스로 만든(상속받은) 소스코드는 반드시 불려야 그 소스코드가 활성화 된다.
또 바보같은짓을 하지 않도록 명심하자.
'NOTE > Programming' 카테고리의 다른 글
[C++] Raw String Literal (0) | 2023.11.13 |
---|---|
[C#] Reflection && Attributes (0) | 2018.04.01 |
[C#] 컬렉션 (0) | 2018.04.01 |
[C#] 예외처리 (0) | 2018.04.01 |
[C#] 인터페이스 (0) | 2018.04.01 |