예제 #1
0
    /**********************************************************************************/
    // в FixedUpdate мы проверяем некоторые состояния зависящие от отклика игрока
    //
    /**********************************************************************************/
    private void FixedUpdate()
    {
        // в конце миссии и дожидаемся окончания диалогов - и производим запуск следующей(перезапуск текущей) миссии
        if (m_state == CM_STATE.WAIT_FOR_DIALOG_CLOSE)
        {
            if (CompanyDialogManager.GetInstance().GetIsReady())
            {
                if (m_missionState == MISSION_STATE.COMPLITED)
                {
                    // переходим на следующий уровень, если это возможно
                    m_levelNumber++;
                    if (m_levelNumber < m_companyMissionData.missions.Length)
                    {
                        SceneManager.LoadScene("SingleGame", LoadSceneMode.Single);
                    }
                    else
                    {
                        // если достигли конца компании - выходим в главное меню
                        SceneManager.LoadScene("MainMenu", LoadSceneMode.Single);
                    }
                }
                else if (m_missionState == MISSION_STATE.FAILED)
                {
                    // перезапускаем текущий уровень
                    SceneManager.LoadScene("SingleGame", LoadSceneMode.Single);
                }
                else
                {
                    Debug.LogError("Wrong mission state :" + m_missionState.ToString() + " !");
                }

                m_state = CM_STATE.READY;
            }
        }
    }
예제 #2
0
    /**********************************************************************************************/
    // Загружаем все данные из файлов настройки (m_defaultSettingsDataFile)
    //
    /**********************************************************************************************/
    void LoadSettingsFromFile()
    {
        m_state = CM_STATE.INITIALIZATION;

        string filePath = Path.Combine(Application.streamingAssetsPath, m_defaultSettingsDataFile);

        if (File.Exists(filePath))
        {
            string dataAsJson = File.ReadAllText(filePath);
            m_companyMissionData = JsonUtility.FromJson <CompanyDescriptor>(dataAsJson);

            m_state = CM_STATE.READY;
        }
        else
        {
            Debug.LogError("Cannot find file!");
        }
    }
예제 #3
0
 /**********************************************************************************/
 // функция извещающая CompanyManager о том, что игрок проиграл парию
 //
 /**********************************************************************************/
 public void OnGoalsFailed()
 {
     CompanyDialogManager.GetInstance().OnMissionFailed();
     m_missionState = MISSION_STATE.FAILED;
     m_state        = CM_STATE.WAIT_FOR_DIALOG_CLOSE;
 }
예제 #4
0
 /**********************************************************************************/
 // функция извещающая CompanyManager о том, что все цели игры были уничтожены
 //
 /**********************************************************************************/
 public void OnGoalsAchieved()
 {
     CompanyDialogManager.GetInstance().OnMissionComplite();
     m_missionState = MISSION_STATE.COMPLITED;
     m_state        = CM_STATE.WAIT_FOR_DIALOG_CLOSE;
 }