예제 #1
0
    IEnumerator DoLoadDispensary()
    {
        sceneTransitionManager.StartSmokeScreenTransition();
        yield return(new WaitForSeconds(1f));

        sceneTransitionManager.LoadScene("BuildingLocation1");
    }
예제 #2
0
        public IEnumerator LoginUser(string _username)
        {
            SharedData.Username = _username;

            if (_username == "Debug")
            {
                SceneTransitionManager.LoadScene(Constants.MAIN_MENU_SCENE_NAME);
                yield break;
            }
            else
            {
                string postData     = "{\"username\" : \"" + _username + "\"}";
                WWW    loginUserReq = WebHelper.CreatePostJsonRequest_WWW(m_userLoginURL, postData);
                yield return(loginUserReq);

                if (loginUserReq.error != null)//(loginUserReq.isNetworkError || loginUserReq.isHttpError)
                {
                    Debug.Log(loginUserReq.error);
                    StartCoroutine(ShowErrorMessage(m_errorMessage));
                }
                else
                {
                    Debug.Log("Got respose for login: " + loginUserReq.text);
                    SceneTransitionManager.LoadScene(Constants.MAIN_MENU_SCENE_NAME);
                    yield break;
                }
            }
        }
 public void RequestSceneLoad(string sceneName)
 {
     if (sceneTransitionManager == null)
     {
         sceneTransitionManager = SceneTransitionManager.instance;
     }
     sceneTransitionManager.LoadScene(sceneName);
 }
        public IEnumerator JoinGame(string _roomID, string _mapSceneName, bool verifyRoom = true)
        {
            SharedData.RoomID = _roomID;

            if ((_roomID == "00000000") || (!verifyRoom) || (_roomID == SharedData.PreviousRoomID))
            {
                SceneTransitionManager.LoadScene(_mapSceneName);
                yield break;
            }

            bool roomAuthResult  = AuthenticateRoomID(_roomID);
            bool roomCheckResult = false;

            string postData     = "{\"room\" : \"" + _roomID + "\"}";
            WWW    roomCheckReq = WebHelper.CreatePostJsonRequest_WWW(m_roomCheckUrl, postData);

            yield return(roomCheckReq);

            if (roomCheckReq.error != null)
            {
                Debug.Log(roomCheckReq.error);
                roomCheckResult = false;
            }
            else
            {
                Debug.Log("Authenticate room response: " + roomCheckReq.text);
                var  roomCheckResponseJSON = JSON.Parse(roomCheckReq.text);
                bool roomExists            = roomCheckResponseJSON["exists"].AsBool;

                if (roomExists)
                {
                    roomCheckResult = true;
                }
                else
                {
                    roomCheckResult = false;
                }
            }


            if (roomAuthResult && roomCheckResult)
            {
                SceneTransitionManager.LoadScene(_mapSceneName);
            }
            else
            {
                Debug.Log("Incorrect Room ID");
                StartCoroutine(ShowErrorMessage(m_joinErrorMessage));
            }
            yield break;
        }
예제 #5
0
    void Update()
    {
        if (canMove)
        {
            HorizontalMovement();
            JetPackMovement();
            if (Input.GetKey(KeyCode.Escape))
            {
                sceneTransition.LoadScene("MainMenu");
            }
            else if (Input.GetKey(KeyCode.R))
            {
                sceneTransition.ReloadScene();
            }
        }

        Debug.Log(jetPackCurrentFuelTime);
    }
        public void OnEvent(GenericEvent eventType)
        {
            switch (eventType.EventType)
            {
            // If pause event is triggered we make sure to toggle the time scale
            case GenericEventType.Pause:
                if (!_isPlaying)
                {
                    return;
                }
                IsPaused       = !IsPaused;
                Time.timeScale = IsPaused ? 0 : _previousTimeScale;
                break;

            // If player died is triggered, lower the lives for current playthrough
            // and check if it's game over
            case GenericEventType.PlayerDied:
                CurrentLifes--;
                if (CurrentLifes <= 0)
                {
                    _isPlaying = false;
                    // Store the high score in persistance
                    _dataPersistance.PlayerData.CurrentHighScore = Mathf.Max(
                        _dataPersistance.PlayerData.CurrentHighScore,
                        CurrentScore);
                    _dataPersistance.Save();

                    // Broadcast the game over event
                    GenericEvent.Trigger(GenericEventType.GameOver, null);
                }
                else
                {
                    var player = eventType.Originator.GetComponent <Character>();
                    StartCoroutine(RespawnPlayer(player, 2f));
                }
                break;

            case GenericEventType.EnemyDestroyed:
                GameObject enemyObj = eventType.Originator;
                // If an enemy was destroyed then it should have a health component
                Health enemyHealth = enemyObj.GetComponent <Health>();
                AddScore(enemyHealth.ScoreOnDeath);
                if (GlobalConfig.WinCondition == WinCondition.Score)
                {
                    _conditionCounter = CurrentScore;
                    if (_conditionCounter >= GlobalConfig.AmountToWin)
                    {
                        GenericEvent.Trigger(GenericEventType.LevelCompleted, null);
                    }
                }
                break;

            case GenericEventType.WaveFinished:
                if (GlobalConfig.WinCondition == WinCondition.WaveSurvived)
                {
                    _conditionCounter++;
                    if (_conditionCounter >= GlobalConfig.AmountToWin)
                    {
                        GenericEvent.Trigger(GenericEventType.LevelCompleted, null);
                    }
                }
                break;

            case GenericEventType.LevelStarted:
                _isPlaying = true;
                break;

            case GenericEventType.LevelCompleted:
            case GenericEventType.LevelEnd:
                // Store the high score in persistance
                _dataPersistance.PlayerData.CurrentHighScore = Mathf.Max(
                    _dataPersistance.PlayerData.CurrentHighScore,
                    CurrentScore);
                _dataPersistance.Save();
                GameOverSceneModel model = new GameOverSceneModel()
                {
                    CurrentScore = CurrentScore,
                    HighScore    = HighScore,
                };
                model.OnAccept += () =>
                {
                    GameplaySceneModel gameplayModel = new GameplaySceneModel();
                    _transitionManager.LoadScene(SceneIndex.GameplayScene, gameplayModel);
                };

                _transitionManager.AddScene(SceneIndex.WinScreen, model);
                _isPlaying = false;
                break;

            case GenericEventType.GameOver:
                // When game over event is triggered
                GameOverSceneModel gosmodel = new GameOverSceneModel()
                {
                    CurrentScore = CurrentScore,
                    HighScore    = HighScore,
                };
                gosmodel.OnAccept += () =>
                {
                    GameplaySceneModel gameplayModel = new GameplaySceneModel();
                    _transitionManager.LoadScene(SceneIndex.GameplayScene, gameplayModel);
                };

                // Show the game over screen screen
                _transitionManager.AddScene(SceneIndex.GameOverScreen, gosmodel);
                _isPlaying = false;
                break;
            }
        }
 void ControlsMenuBtnClicked()
 {
     SceneTransitionManager.LoadScene(Constants.CONTROLS_SCENE_NAME);
 }
예제 #8
0
 public void BackBtnClicked()
 {
     SceneTransitionManager.LoadScene(Constants.MAIN_MENU_SCENE_NAME);
 }