개발중에 특이한 이슈를 발견하여 기록으로 남깁니다.
개발 환경
Unity 5.3.8p2
Visual Studio Professional 2015 Version 14.0.25431.01 Update3
다음과 같이 스크립트를 Unity 에 추가합니다.
public enum BUG
{
YEAH = 0,
}
public class MakeUnityBug<T>
{
public void MakeBug(BUG bug = BUG.YEAH)
{
OnMakeBug();
}
private void OnMakeBug()
{
}
}
그럼 Unity 에서 다음과 같은 에러를 출력합니다.
error CS0103: The name `OnMakeBug' does not exist in the current context
분명 코드에는 OnMakeBug 가 있지만 없다고 Unity가 구라를 칩니다.
이 버그를 고쳐 봅시다.
아래와 같이 의미 없는 추상 클래스를 추가해 주고 그 안에 Unity 가 없다고 구라치는 함수를 추상 메소드로 추가해 줍니다. 그리고 에러가 나던 클래스에서 상속받아 사용해 줍니다.
public enum BUG
{
YEAH = 0,
}
public abstract class FixUnityBug<T>
{
protected abstract void OnMakeBug();
}
public class MakeUnityBug<T> : FixUnityBug<T>
{
public void MakeBug(BUG bug = BUG.YEAH)
{
OnMakeBug();
}
protected override void OnMakeBug()
{
}
}
에러가 없어졌습니다. 만세!
'Works > Unity 3D' 카테고리의 다른 글
[Unity 3D] 안드로이드 64bit 대응 (0) | 2019.08.05 |
---|---|
[Unity3D] C# (0) | 2019.08.05 |
[Unity3D] NGUI 2.7 Button 이슈 (0) | 2019.04.03 |
[Unity3D] EmbeddedWindow (0) | 2019.03.28 |
[Unity3D] Standalone 빌드 실행 전 Window Size 변경 (0) | 2019.03.20 |
댓글