private IEnumerator Start() { // менеджер локализации while (!LocalizationManager.instance.GetIsReady()) { yield return(null); } // менеджер диалогов while (!CompanyDialogManager.GetInstance().GetIsReady()) { yield return(null); } // менеджер компании while (!CompanyManager.GetInstance().GetIsReady()) { yield return(null); } // менеджер дуэли while (!DuelManager.GetInstance().GetIsReady()) { yield return(null); } // менеджер целей while (!TargetController.GetInstance().GetIsReady()) { yield return(null); } // после загрузки всех компонент - включаем меню SceneManager.LoadScene("MainMenu"); }
/**********************************************************************************/ // функция дерегестрирует цель // производится проверка выигрыша игрока // /**********************************************************************************/ public void TargetIsDead(GameObject target) { if (GameManager.GetInstance().GameMode == GameManager.GAME_MODE.SINGLE) { CIGameObject gmo = target.GetComponent <CIGameObject>(); if (gmo.GOType == Base.GO_TYPE.PLAYER) { CompanyManager.GetInstance().OnGoalsFailed(); } else { m_npcTarget.Remove(gmo.ID); // обновляем текущую сложность int bossWeight = m_bossWeights[gmo.GOType.ToString()]; m_currentDifficulties -= bossWeight; UpdateNPCTargets(); if (m_npcTarget.Count == 0) { CompanyManager.GetInstance().OnGoalsAchieved(); } } } else { PlayerController pc = target.GetComponent <PlayerController>(); DuelManager.GetInstance().OnGoalAchived(pc.playerId); } }
void Start() { if (GameManager.GetInstance().GameMode == GameManager.GAME_MODE.SINGLE) { CompanyManager.GetInstance().OnSceneLoaded(); } else if (GameManager.GetInstance().GameMode == GameManager.GAME_MODE.DUEL) { DuelManager.GetInstance().OnSceneLoaded(); } }
/**********************************************************************************/ // подготавливаем менеджер к дуэльной игре // /**********************************************************************************/ public void InitDuelGame() { Debug.Log("InitDuelGame"); GameMode = GAME_MODE.DUEL; // очищаем контроллер m_playerDict.Clear(); m_playerGameObj.Clear(); m_playerCtr_singleMode = null; m_playerGO_singleMode = null; m_singlePlayerID = PLAYER.NO_PLAYER; DuelManager.GetInstance().SetNewDuel(); GameAudioManager.Instance.SwitchToGameMode(); SceneManager.LoadScene("DuelLevel", LoadSceneMode.Single); }