유니티인데 한 A라는 클래스에 public string a, b 가 있어 그리고 Start 에서 이 a, b 에 값을 넣어줬고
그리고 다른 B라는 클래스에서 public GameObject C 이렇게 선언해서 B에 드래그로 A클래스가 넣어저있는 오브젝트를 넣어주고
그다음 awake에서 A의 변수를 불러오려고 C.GetComponent<A>().a 이렇게 했는데 왜 값이 비어있는걸까?
유니티인데 한 A라는 클래스에 public string a, b 가 있어 그리고 Start 에서 이 a, b 에 값을 넣어줬고
그리고 다른 B라는 클래스에서 public GameObject C 이렇게 선언해서 B에 드래그로 A클래스가 넣어저있는 오브젝트를 넣어주고
그다음 awake에서 A의 변수를 불러오려고 C.GetComponent<A>().a 이렇게 했는데 왜 값이 비어있는걸까?
A에서 a,b에 값을 넣기전에 B에서 더 빨리 가져온거아님?
그런건가 한번 자세히 봐바야겠다.. 우선 애초에 값이 재대로 안들어가서 비어있는건 아님 로그 찍어보니 들어간건 재대로 들어감 그런데 불러온 후에 찍어보면 비어있음.. 한번 확인해봐야겠다..
해결했다...
Awake가 Start 전에 불려짐
이걸 참고하시길 :
https://docs.unity3d.com/uploads/Main/monobehaviour_flowchart.svg