정주찬 2022. 9. 8. 09:39

순수 C# 클래스

MonoBehaviour를 상속받지 않으므로 게임 오브젝트에 컴포넌트로 추가할 수 없다. 그리고 MonoBehaviour 내부의 메서드도 사용이 불가능하다.

순수 C# 클래스
추가하려할 때 오류

순수 C# 클래스에는 생성자 사용이 가능한데 Vector2Int에 new를 사용해서 매개변수로 초기화를 시켜주듯이 생성자도 new처럼 초기화를 할 수 있다.

클래스 생성자
new 생성자

this 사용으로 이 클래스의 멤버 변수를 지정해줄 수 있다.

this

순수 C# 클래스는 다른 MonoBehaviour 클래스에서 SerializeField로 인스펙터에 표시하려 해도 Node클래스 자체에서 추가적인 것을 안 하면 보이지 않는다.

[SerializedField]
안 보임

대신 이렇게 MonoBehaviour를 상속받지 않더라도 순수 C#클래스 위에 Serializable을 사용하면 Node를 인스펙터에서 볼 수 있고 [SerializedField] 변수나 public 변수들도 볼 수 있다.

[Serializable]
볼 수 있음