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를 적용하는 형식이라고 한다.
=> 단, 자동 프로퍼티에서만 사용 가능!
=> 데이터만 직렬화가 가능하다고 한다.