Study/Unity

[Unity] Serializefield & Property

chobbo 2024. 6. 16. 19:10

Serializefield

 

- C# 스크립트에서 전역 변수를 선언할 때, public 으로 선언하면 바로 Inspector창에 나타난다.

public bool IsAttaciking;

 

 

- 변수를 private 로 선언했을 때에도 Inspector창에 보여지게 할 때 Serializefield를 사용한다

[Serializefield] private bool isAttacking;

 

  이렇게 쓰면 위의 사진과 동일한 결과 나옴

 

 

 

그런데 자동 프로퍼티를 사용한 변수에 Serializefield 처리를 해주어도

Inspector창에서 보이지 않는 이슈가 발생하였다.

 

해결

=> 자동 프로퍼티를 사용시 [field : Serializefield]로 선언해주어야 된다.

[field : Serializefield] public bool IsAttacking {get; private set;}

 

=> 해당 프로퍼티 내부에 있는 필드에 SerializeField를 적용하는 형식이라고 한다.

=> 단, 자동 프로퍼티에서만 사용 가능!

=> 데이터만 직렬화가 가능하다고 한다.