• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

강의 5:04분 GetPlayer 질문입니다!

22.01.17 18:02 작성 조회수 157

0

GameManagerEx가 있기 전에는 FindObjectWithTag로 "Player"라는 Tag를 가진 Object를 찾아 주어서 없으면 null값으로 return;을 해버리고 끝내는 방식 이였는데

 

이전시간에 GameManagerEx를 만들고나서

 

5:04초 쯤에 GameManagerEx부분에 public GameObject GetPlayer { return _player; }이렇게 

 

GameObject를 반환하는 함수를 구현을 해주었습니다.

그런데 제 생각에는

GetPlayer는 _player를 return만 하는 함수이지

 

FindObjectWithTag처럼 "Player"라는 Tag를 가진 오브젝트를 찾아서 반환을 하지 않고 

 

GameObject를 return만 해주고 있는데

 

어떤 이유에서 FindObjectWithTag를 GetPlayer가 대체?를 할 수 있는 것인가요??

 

(GameManagerEx에서는 스폰, 디스폰, GetWorldObjectType 함수만 구현이 되있는 상태입니다.) 

답변 1

답변을 작성해보세요.

0

정답은 코드에 있습니다.
Spawn할 때 _player변수에다 기억을 하고 있기 때문이죠.

public GameObject Spawn(Define.WorldObject type, string path, Transform parent = null)
{
        GameObject go = Managers.Resource.Instantiate(path, parent);

        switch (type)
        {
            case Define.WorldObject.Monster:
                _monsters.Add(go);
                if (OnSpawnEvent != null)
                    OnSpawnEvent.Invoke(1);
                break;

            case Define.WorldObject.Player:
                _player = go; // << 이 부분!
                break;
        }
        return go;
}

starkshn님의 프로필

starkshn

질문자

2022.01.18

앗 감사합니다!