// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- // //! シーン変更 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(); }
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- // //! SceneView設定 public IBaseSceneViewOrder StartUpSceneView(IBaseSceneLogic sceneLogic) { // SceneView生成 _currentSceneView = CreateSceneView(sceneLogic); _currentSceneView.InitDI(false); // ギアに追加 _gear.AddChildGear(_currentSceneView.GetGear()); return(_currentSceneView); }
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); }
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- // //! 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); }
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- // //! シーン生成 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); }
public MySetting() { _startScene = new MenuSceneLogic(); _displayLogLevel = ArkLogLevelDefine.Error | ArkLogLevelDefine.Warning | ArkLogLevelDefine.Info | ArkLogLevelDefine.Debug; }
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- // //! SceneView作成 abstract protected BaseSceneView CreateSceneView(IBaseSceneLogic sceneLogic);
public GameLogic(ISetting setting) : base(false) { // 開始シーン設定 _currentSceneLogic = setting.StartScene; _gear.AddChildGear(_currentSceneLogic.GetGear()); }