示例#1
0
    // called second
    void OnSceneLoaded(Scene scene, LoadSceneMode mode)
    {
        if (_currentGame != null)
        {
            int buildIndex = SceneManager.GetActiveScene().buildIndex;

            Frame.FlushMemory();

            NeverdawnScene neverdawnScene = FindObjectOfType <NeverdawnScene>();

            if (neverdawnScene != null)
            {
                Frame.DeserializeFrames(_currentGame, buildIndex);

                // cache the most important frames
                _playerFrame = Frame.FindFrameById(playerFrameId);
                _inventory   = _playerFrame.GetComponent <PlayerInventory>();
                _party       = _playerFrame.GetComponent <PlayerParty>();
                _time        = _playerFrame.GetComponent <PlayerTime>();

                UICharacterMenus.UpdateView();

                _inventory.Initialize(_currentGame);
                _explorationController.Initialize(_currentGame);
                _eventController.Initialize();

                _time.Run();

                _gameState = GameState.Exploration;
                _isPaused  = false;
            }
        }
    }