예제 #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();
        }
예제 #2
0
        // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- //
        //! SceneView設定
        public IBaseSceneViewOrder StartUpSceneView(IBaseSceneLogic sceneLogic)
        {
            // SceneView生成
            _currentSceneView = CreateSceneView(sceneLogic);
            _currentSceneView.InitDI(false);
            // ギアに追加
            _gear.AddChildGear(_currentSceneView.GetGear());

            return(_currentSceneView);
        }
예제 #3
0
        protected override BaseSceneView CreateSceneView(IBaseSceneLogic sceneLogic)
        {
            if (sceneLogic.GetType() == typeof(MenuSceneLogic))
            {
                //return Instantiate<MenuSceneView>()
                return(Instantiate(_menuSceneView, transform));
            }
            else if (sceneLogic.GetType() == typeof(BattleSceneLogic))
            {
                return(Instantiate(_battleSceneView, transform));
            }

            return(null);
        }
예제 #4
0
        // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- //
        //! SceneView設定
        public IBaseSceneViewOrder SetupSceneView(IBaseSceneLogic sceneLogic)
        {
            // シーンを親から外す
            _currentSceneView.AllDisposeGear();
            _gear.RemoveChildGear(_currentSceneView.GetGear());
            Destroy(_currentSceneView.gameObject);

            // SceneView生成
            _currentSceneView = CreateSceneView(sceneLogic);
            _currentSceneView.InitDI(false);
            // ギアに追加
            _gear.AddChildGear(_currentSceneView.GetGear());

            return(_currentSceneView);
        }
예제 #5
0
        // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- //
        //! シーン生成
        public static IBaseSceneLogic CreateScene(ESceneKind sceneKind)
        {
            IBaseSceneLogic sceneLogic = null;

            switch (sceneKind)
            {
            case ESceneKind.Menu: break;

            case ESceneKind.Battle: break;

            case ESceneKind.Gacha: break;
            }

            return(sceneLogic);
        }
예제 #6
0
 public MySetting()
 {
     _startScene      = new MenuSceneLogic();
     _displayLogLevel = ArkLogLevelDefine.Error | ArkLogLevelDefine.Warning | ArkLogLevelDefine.Info | ArkLogLevelDefine.Debug;
 }
예제 #7
0
 // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- //
 //! SceneView作成
 abstract protected BaseSceneView CreateSceneView(IBaseSceneLogic sceneLogic);
예제 #8
0
 public GameLogic(ISetting setting) : base(false)
 {
     // 開始シーン設定
     _currentSceneLogic = setting.StartScene;
     _gear.AddChildGear(_currentSceneLogic.GetGear());
 }