Exemplo n.º 1
0
 protected void ChangeInitializationState(ManagerInitializationState newState)
 {
     initializationState = newState;
     if (newState == ManagerInitializationState.COMPLETED)
     {
         OnInitializationCompleted?.Invoke();
     }
 }
Exemplo n.º 2
0
    IEnumerator WaitForManagerInitialization(SceneManager manager)
    {
        for (int i = 0; i < MAX_NUMBER_OF_WAIT_INTERVALS; i++)
        {
            ManagerInitializationState currentManagerState = manager.InitializationState;

            if (currentManagerState == ManagerInitializationState.COMPLETED)
            {
                if (manager is EntitySceneManager entitySceneManager)
                {
                    data.entityManager = entitySceneManager;
                }
                else if (manager is ItemSceneManager itemSceneManager)
                {
                    data.itemManager = itemSceneManager;
                }
                else if (manager is ProjectileManager projectileManager)
                {
                    data.projectileManager = projectileManager;
                }
                else if (manager is UIManager UIManager)
                {
                    data.uIManager = UIManager;
                }
                Debug.Log($"-- manager '{manager.name}' init completed");
                break;
            }

            if (currentManagerState == ManagerInitializationState.FAILED)
            {
                Debug.LogError($"-- manager '{manager.name}' init failed");
                break;
            }

            yield return(WaitForSomeTime);
        }
    }
Exemplo n.º 3
0
 public virtual void Init(MasterSystem masterSystem, SceneManagerData data)
 {
     initializationState = ManagerInitializationState.IN_PROGRESS;
     this.data           = data;
 }