물론 button
type 이라는 이름 의 변수가 있다고 가정 해 봅시다 .Button
System.Serializable
그 변수를 인스펙터를 통해 할당 할 수 있기를 원합니다 public
.
public class SomeScript : MonoBehaviour{
public Button button;
}
그것은 나에게 그것을 준다 :
이제 코드를 깨끗하고 안전하게 유지하고 싶습니다. 캡슐화를 유지 해야하는 이유가 있습니다.
런타임에서 구성 요소를 검색하는 여러 가지 방법이 있다는 것을 알고 transform.Find("Some/Genius/TypeUnsafe/Path")
있거나 GameObject.Find("3 seconds scene iteration").GetComponent(...).
피하고 싶습니다.
인스펙터에 있는 변수 private access
와 변수 를 어떻게 혼합 public access
합니까?
UI
/ API
MVC
/ MVVM
패턴을 빌드 하고와를 분리해야 UI
했습니다 API
. 단순히 검사원 원인을 통해 값을 할당해야했습니다. 다른 방법은 없습니다. Find()
메서드는 형식이 안전하지 않으므로 끌어서 놓아 항목을 정리하는 것이 더 쉽습니다. 고전적인 OOP 프레임 워크를 구축하는 것은 정말 어렵고, Unity
이와 같은 해킹을 찾아야합니다.
private
실제로 제 3자가 필드에 접근하는 것을 막기위한 것이 아니라 "내가하고있는 일을 막지 말고"라고 말하는 방법을 제공하는 것입니다. 당신 이 그것에 접근 하지 못하게 하십시오.