예제 #1
0
    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");
    }
예제 #2
0
    /**********************************************************************************/
    //  функция дерегестрирует цель
    //  производится проверка выигрыша игрока
    //
    /**********************************************************************************/
    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);
        }
    }
예제 #3
0
 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();
     }
 }
예제 #4
0
    /**********************************************************************************/
    // подготавливаем менеджер к дуэльной игре
    //
    /**********************************************************************************/
    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);
    }