Example #1
0
        // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- //
        //! シーン変更
        public void ChangeScene(IBaseSceneLogic nextScene)
        {
            // 現在のSceneLogicが抜ける時の処理
            _currentSceneLogic.Exit();
            // ギアを解除
            _currentSceneLogic.AllDisposeGear();
            // 現在のSceneLogicを前のSceneLogicに格納する
            _prevSceneLogic = _currentSceneLogic;
            // ギアの親子関係から外す
            _gear.RemoveChildGear(_prevSceneLogic.GetGear());
            // 現在のSceneLogicを新しいものに入れ替える
            _currentSceneLogic = nextScene;
            // SceneView作成
            IBaseSceneViewOrder sceneView = _gameView.SetupSceneView(_currentSceneLogic);

            // SceneViewを設定
            _currentSceneLogic.SetSceneViewOrder(sceneView);
            // 新しいSceneLogicを子供として追加
            _gear.AddChildGear(_currentSceneLogic.GetGear());
            // 現在のSceneLogicのギアの初期化
            _currentSceneLogic.InitGear();
            // 現在のSceneViewのギアの初期化
            sceneView.InitGear();
            // 現在のSceneLogicに入る時の処理
            _currentSceneLogic.Enter();
        }
Example #2
0
 public GameLogic(ISetting setting) : base(false)
 {
     // 開始シーン設定
     _currentSceneLogic = setting.StartScene;
     _gear.AddChildGear(_currentSceneLogic.GetGear());
 }