private void ChkNextCell()
        {
            if (!_clsMapManger.IsNextFinal())
            {
                if (BattleCutManager.GetBattleType() == Generics.BattleRootType.Rebellion && BattleCutManager.GetBattleManager().ChangeableDeck&& BattleCutManager.GetBattleManager().Ships_f[0].DmgStateEnd == DamageState_Battle.Taiha && !BattleCutManager.GetBattleManager().Ships_f[0].HasRecoverMegami() && !BattleCutManager.GetBattleManager().Ships_f[0].HasRecoverYouin())
                {
                    BattleCutManager.ReqPhase(BattleCutPhase.AdvancingWithdrawal);
                }
                else if (_clsResultModel.Ships_f[0].DmgStateEnd == DamageState_Battle.Taiha && !ShipUtils.HasRepair(_clsResultModel.Ships_f[0]))
                {
                    BattleCutManager.ReqPhase(BattleCutPhase.FlagshipWreck);
                }
                else
                {
                    BattleCutManager.ReqPhase(BattleCutPhase.EscortShipEvacuation);
                }
            }
            else if (SingletonMonoBehaviour <FadeCamera> .Instance != null)
            {
                SingletonMonoBehaviour <FadeCamera> .Instance.SetActive(isActive : true);

                SingletonMonoBehaviour <FadeCamera> .Instance.isDrawNowLoading = false;
                SingletonMonoBehaviour <FadeCamera> .Instance.FadeOut(0.2f, delegate
                {
                    SingletonMonoBehaviour <SoundManager> .Instance.soundVolume.BGM = BattleDefines.SOUND_KEEP.BGMVolume;
                    SingletonMonoBehaviour <SoundManager> .Instance.rawBGMVolume    = BattleDefines.SOUND_KEEP.BGMVolume;
                    Mst_DataManager.Instance.PurgeUIBattleMaster();
                    RetentionData.SetData(BattleUtils.GetRetentionDataMapOpen(BattleCutManager.GetMapManager(), _clsResultModel));
                    SingletonMonoBehaviour <AppInformation> .Instance.NextLoadScene = Generics.Scene.Strategy;
                    Application.LoadLevel(Generics.Scene.LoadingScene.ToString());
                });
            }
        }
 public override bool Init(object data)
 {
     _clsResultModel = BattleCutManager.GetBattleManager().GetBattleResult();
     _clsMapManger   = BattleCutManager.GetMapManager();
     _clsInput       = BattleCutManager.GetKeyControl();
     _clsState       = new StatementMachine();
     if (BattleCutManager.GetBattleType() == Generics.BattleRootType.Rebellion)
     {
         if (_clsMapManger.IsNextFinal())
         {
             if (_clsResultModel.WinRank == BattleWinRankKinds.B || _clsResultModel.WinRank == BattleWinRankKinds.A || _clsResultModel.WinRank == BattleWinRankKinds.S)
             {
                 _clsState.AddState(_initThalassocracyProd, _updateThalassocracyProd);
             }
             else
             {
                 ChkNextCell();
             }
         }
         else
         {
             ChkNextCell();
         }
     }
     else if (_clsResultModel.FirstAreaClear && _clsResultModel.FirstClear)
     {
         _clsState.AddState(_initThalassocracyProd, _updateThalassocracyProd);
     }
     else if (!_clsResultModel.FirstAreaClear && _clsResultModel.FirstClear)
     {
         _clsState.AddState(_initMapClearProd, _updateMapClearProd);
     }
     else if (!_clsResultModel.FirstClear && _clsResultModel.NewOpenMapIDs.Length > 0)
     {
         _clsState.AddState(InitMapOpen, UpdateMapOpen);
     }
     else if (_clsResultModel.GetAreaRewardItems() != null)
     {
         _clsState.AddState(InitShortRewardGet, UpdateShortRewardGet);
     }
     else
     {
         ChkNextCell();
     }
     return(false);
 }
 private bool _initThalassocracyProd(object data)
 {
     _prodThalassocracy = ProdThalassocracy.Instantiate(PrefabFile.Load <ProdThalassocracy>(PrefabFileInfos.Thalassocracy), BattleCutManager.GetSharedPlase(), _clsInput, SortieBattleTaskManager.GetMapManager(), _clsResultModel, BattleCutManager.GetBattleManager().Ships_f, 120);
     _prodThalassocracy.Play(_onThalassocracyProdFinished, BattleCutManager.GetBattleType(), BattleCutManager.GetBattleManager().Map.Name);
     return(false);
 }
        private IEnumerator CreateBCAdvancingWithdrawalDC(IObserver <ProdBCAdvancingWithdrawalDC> observer)
        {
            _prodBCAdvancingWithdrawalDC = ProdBCAdvancingWithdrawalDC.Instantiate(((Component)BattleCutManager.GetPrefabFile().prefabProdBCAdvancingWithdrawalDC).GetComponent <ProdBCAdvancingWithdrawalDC>(), BattleCutManager.GetSharedPlase(), BattleCutManager.GetBattleManager().Ships_f[0], BattleCutManager.GetBattleType());
            yield return(null);

            observer.OnNext(_prodBCAdvancingWithdrawalDC);
            observer.OnCompleted();
        }