다들 알다시피 유니티에는
상단 메뉴 - Edit - Project Manager를 통해
Execution Order에서 Order 순서를 정해줄 수 있는데, 이게
내가 원했던 순서로 간혹가다가 적용이 되지않아 원하는 게임 흐름으로 흘러가지 않을때가 있다
이럴 때를 위해서 실무에서는 아래와 같이
GameManager에서 다른 객체들에 붙은 스크립트들의 흐름을 제어 한다고 한다.
GameManager.cs
public class GameManager : MonoBehaviour
{
public GameObject _canvas;
public GameObject _world;
UIManager _uiMgr;
Lancer _lancer;
Slime _slime;
void Start()
{
_uiMgr = _canvas.GetComponent<UIManager>();
_uiMgr.Init();
_lancer = _world.transform.Find("Units/Lancer").gameObject.GetComponent<Lancer>();
_lancer.Init();
_slime = _world.transform.Find("Units/Slime").gameObject.GetComponent<Slime>();
_slime.Init();
}
}
UIManager.cs
public class UIManager : MonoBehaviour
{
public void Init()
{
// 초기화 할 명령들 (기존의 Start() 함수를 지우고 거기에 있어야할 명령들을 넣어주면됨)
}
}
'유니티 프로그래밍' 카테고리의 다른 글
유니티에서 컴포넌트에 붙어있지 않은 스크립트 접근하기 (0) | 2022.07.25 |
---|---|
유니티에서 형변환 및 사용 (0) | 2022.07.24 |
유니티 TextMeshPro 함수를 소스에서 접근하는 방법 (0) | 2022.07.20 |
3D게임에서 점프를 구현하는 간단한 스크립트 소스 (0) | 2022.07.19 |
간단한 3D RPG 게임의 스크립트 구조도 (0) | 2022.07.17 |