Beispiel #1
0
 protected override void OnDestroy()
 {
     base.OnDestroy();
     Mem.DelListSafe <UITexture>(ref this._listShipTex);
     Mem.Del <ProdTorpedoCutIn.AnimationList>(ref this._iList);
     this._clsRaigeki = null;
 }
Beispiel #2
0
 public void Dispose()
 {
     if (this._clsState != null)
     {
         this._clsState.Clear();
     }
     Mem.Del <StatementMachine>(ref this._clsState);
     if (this._prodTorpedoCutIn != null)
     {
         this._prodTorpedoCutIn.get_gameObject().Discard();
     }
     this._prodTorpedoCutIn = null;
     if (this._prodTorpedoSalvoPhase2 != null)
     {
         Object.Destroy(this._prodTorpedoSalvoPhase2.transform.get_gameObject());
     }
     this._prodTorpedoSalvoPhase2 = null;
     if (this._prodTorpedoSalvoPhase3 != null)
     {
         Object.Destroy(this._prodTorpedoSalvoPhase3.transform.get_gameObject());
     }
     this._prodTorpedoSalvoPhase3 = null;
     if (this.prefabProdTorpedoStraight != null)
     {
         Object.Destroy(this.prefabProdTorpedoStraight.get_gameObject());
     }
     this.prefabProdTorpedoStraight = null;
     if (this._clsRaigeki != null)
     {
         this._clsRaigeki = null;
     }
     this.TorpedoParticle = null;
 }
 protected override void OnDestroy()
 {
     base.OnDestroy();
     Mem.DelListSafe(ref _listShipTex);
     Mem.Del(ref _iList);
     _clsRaigeki = null;
 }
 protected override bool UnInit()
 {
     if (this._prodTorpedoCutIn != null)
     {
         this._prodTorpedoCutIn.get_gameObject().Discard();
     }
     this._prodTorpedoCutIn = null;
     if (this._prodTorpedoSalvoPhase2 != null)
     {
         Object.Destroy(this._prodTorpedoSalvoPhase2.transform.get_gameObject());
     }
     this._prodTorpedoSalvoPhase2 = null;
     if (this._prodTorpedoSalvoPhase3 != null)
     {
         Object.Destroy(this._prodTorpedoSalvoPhase3.transform.get_gameObject());
     }
     this._prodTorpedoSalvoPhase3 = null;
     if (this.prefabProdTorpedoStraight != null)
     {
         Object.Destroy(this.prefabProdTorpedoStraight.get_gameObject());
     }
     this.prefabProdTorpedoStraight = null;
     base.UnInit();
     if (this._clsRaigeki != null)
     {
         this._clsRaigeki = null;
     }
     this.TorpedoParticle = null;
     return(true);
 }
Beispiel #5
0
 protected override bool UnInit()
 {
     if (_prodTorpedoCutIn != null)
     {
         _prodTorpedoCutIn.gameObject.Discard();
     }
     _prodTorpedoCutIn = null;
     if (_prodTorpedoSalvoPhase2 != null)
     {
         UnityEngine.Object.Destroy(_prodTorpedoSalvoPhase2.transform.gameObject);
     }
     _prodTorpedoSalvoPhase2 = null;
     if (_prodTorpedoSalvoPhase3 != null)
     {
         UnityEngine.Object.Destroy(_prodTorpedoSalvoPhase3.transform.gameObject);
     }
     _prodTorpedoSalvoPhase3 = null;
     base.UnInit();
     if (_clsRaigeki != null)
     {
         _clsRaigeki = null;
     }
     TorpedoParticle = null;
     return(true);
 }
Beispiel #6
0
 public void OnSetDestroy()
 {
     if (_listPSTorpedoWake != null)
     {
         foreach (PSTorpedoWake item in _listPSTorpedoWake)
         {
             UnityEngine.Object.Destroy(item);
         }
         _listPSTorpedoWake.Clear();
     }
     _listPSTorpedoWake = null;
     if (_torpedoProtect != null)
     {
         UnityEngine.Object.Destroy(_torpedoProtect.gameObject);
     }
     _torpedoProtect = null;
     Mem.Del(ref _isTorpedoHit);
     Mem.Del(ref _isProtect);
     Mem.Del(ref _actCallback);
     Mem.Del(ref stateType);
     Mem.Del(ref transform);
     Mem.DelListSafe(ref _listPSTorpedoWake);
     Mem.DelDictionarySafe(ref _dicIsCriticall);
     Mem.DelDictionarySafe(ref _dicIsMiss);
     if (_torpedoProtect != null)
     {
         UnityEngine.Object.Destroy(_torpedoProtect.gameObject);
     }
     _torpedoProtect  = null;
     _torpedoParticle = null;
     _clsRaigeki      = null;
     Mem.Del(ref _fieldCam);
 }
Beispiel #7
0
 public ProdShellingTorpedo(RaigekiModel model)
 {
     this._clsState      = new StatementMachine();
     this._isPlaying     = false;
     this._actOnFinished = null;
     this._clsRaigeki    = model;
     BattleTaskManager.GetBattleCameras().enemyFieldCamera.cullingMask = BattleTaskManager.GetBattleCameras().GetDefaultLayers();
 }
Beispiel #8
0
        public static ProdTorpedoCutIn Instantiate(ProdTorpedoCutIn prefab, RaigekiModel model, Transform parent)
        {
            ProdTorpedoCutIn prodTorpedoCutIn = Object.Instantiate <ProdTorpedoCutIn>(prefab);

            prodTorpedoCutIn.get_transform().set_parent(parent);
            prodTorpedoCutIn.get_transform().set_localPosition(Vector3.get_zero());
            prodTorpedoCutIn.get_transform().set_localScale(Vector3.get_one());
            prodTorpedoCutIn._clsRaigeki = model;
            prodTorpedoCutIn.init();
            prodTorpedoCutIn.setShipInfo();
            return(prodTorpedoCutIn);
        }
        public static ProdTorpedoCutIn Instantiate(ProdTorpedoCutIn prefab, RaigekiModel model, Transform parent)
        {
            ProdTorpedoCutIn prodTorpedoCutIn = UnityEngine.Object.Instantiate(prefab);

            prodTorpedoCutIn.transform.parent        = parent;
            prodTorpedoCutIn.transform.localPosition = Vector3.zero;
            prodTorpedoCutIn.transform.localScale    = Vector3.one;
            prodTorpedoCutIn._clsRaigeki             = model;
            prodTorpedoCutIn.init();
            prodTorpedoCutIn.setShipInfo();
            return(prodTorpedoCutIn);
        }
 public bool Initialize(RaigekiModel model, PSTorpedoWake psTorpedo, UITexture line)
 {
     _fieldCam    = BattleTaskManager.GetBattleCameras().friendFieldCamera;
     _isPlaying   = false;
     _isTC        = new bool[2];
     _clsTorpedo  = model;
     _torpedoWake = psTorpedo;
     _centerLine  = line;
     _fPhaseTime  = 0f;
     _stateType   = StateType.None;
     _dicIsAttack = new Dictionary <FleetType, bool>();
     _dicIsAttack.Add(FleetType.Friend, value: false);
     _dicIsAttack.Add(FleetType.Enemy, value: false);
     return(true);
 }
Beispiel #11
0
 protected override bool Init()
 {
     _clsRaigeki = BattleTaskManager.GetBattleManager().GetKaimakuData();
     if (_clsRaigeki == null)
     {
         EndPhase(BattleUtils.NextPhase(BattlePhase.OpeningTorpedoSalvo));
     }
     else
     {
         _clsState = new StatementMachine();
         _clsState.AddState(_initTorpedoCutInInjection, _updateTorpedoCutInInjection);
         TorpedoParticle = ParticleFile.Load <PSTorpedoWake>(ParticleFileInfos.PARTICLE_FILE_INFOS_ID_ST);
     }
     return(true);
 }
 protected override bool Init()
 {
     base.Init();
     this._clsRaigeki = BattleTaskManager.GetBattleManager().GetRaigekiData();
     if (this._clsRaigeki == null)
     {
         this.EndPhase(BattleUtils.NextPhase(BattlePhase.TorpedoSalvo));
     }
     else
     {
         this._clsState = new StatementMachine();
         BattleTaskManager.GetBattleCameras().enemyFieldCamera.cullingMask = BattleTaskManager.GetBattleCameras().GetDefaultLayers();
         this.TorpedoParticle = ParticleFile.Load <PSTorpedoWake>(ParticleFileInfos.PARTICLE_FILE_INFOS_ID_ST);
         this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this._initTorpedoCutInNInjection), new StatementMachine.StatementMachineUpdate(this._updateTorpedoCutInNInjection));
     }
     return(true);
 }
Beispiel #13
0
        private ShipModel_Attacker getTorpedoCutInShip(RaigekiModel model, bool isFriend)
        {
            List <ShipModel_Attacker> attackers = model.GetAttackers(isFriend);

            if (attackers == null)
            {
                return(null);
            }
            using (List <ShipModel_Attacker> .Enumerator enumerator = attackers.GetEnumerator())
            {
                if (enumerator.MoveNext())
                {
                    return(enumerator.get_Current());
                }
            }
            return(null);
        }
 public bool Initialize(RaigekiModel model, PSTorpedoWake psTorpedo)
 {
     this._fTime             = 0f;
     this._isTorpedoHit      = new bool[2];
     this._isProtect         = new bool[2];
     this.stateType          = ProdTorpedoSalvoPhase3.StateType.None;
     this._clsRaigeki        = model;
     this._torpedoParticle   = psTorpedo;
     this._fBattleship       = BattleTaskManager.GetBattleShips().dicFriendBattleShips;
     this._eBattleship       = BattleTaskManager.GetBattleShips().dicEnemyBattleShips;
     this._listPSTorpedoWake = new List <PSTorpedoWake>();
     this._fieldCam          = new BattleFieldCamera[2];
     this._fieldCam[0]       = BattleTaskManager.GetBattleCameras().friendFieldCamera;
     this._fieldCam[1]       = BattleTaskManager.GetBattleCameras().enemyFieldCamera;
     this._torpedoProtect    = this.transform.SafeGetComponent <ProdTorpedoProtect>();
     this._torpedoProtect._init();
     return(true);
 }
 public void OnSetDestroy()
 {
     if (_straightController != null)
     {
         UnityEngine.Object.Destroy(_straightController.gameObject);
     }
     Mem.Del(ref _stateType);
     Mem.Del(ref _straightBegin);
     Mem.Del(ref _straightTarget);
     Mem.Del(ref _actCallback);
     Mem.Del(ref _torpedoWake);
     Mem.Del(ref _straightController);
     Mem.Del(ref _onesTorpedoWake);
     Mem.DelListSafe(ref _listTorpedoWake);
     Mem.DelDictionarySafe(ref _dicIsAttack);
     _clsTorpedo = null;
     if (transform != null)
     {
         UnityEngine.Object.Destroy(transform.gameObject);
     }
     Mem.Del(ref transform);
 }
 public void OnSetDestroy()
 {
     if (this._straightController != null)
     {
         Object.Destroy(this._straightController.get_gameObject());
     }
     Mem.Del <ProdTorpedoSalvoPhase2.StateType>(ref this._stateType);
     Mem.Del <Vector3>(ref this._straightBegin);
     Mem.Del <Vector3>(ref this._straightTarget);
     Mem.Del <Action>(ref this._actCallback);
     Mem.Del <PSTorpedoWake>(ref this._torpedoWake);
     Mem.Del <TorpedoStraightController>(ref this._straightController);
     Mem.Del <PSTorpedoWake>(ref this._onesTorpedoWake);
     Mem.DelListSafe <PSTorpedoWake>(ref this._listTorpedoWake);
     Mem.DelDictionarySafe <FleetType, bool>(ref this._dicIsAttack);
     this._clsTorpedo = null;
     if (this.transform != null)
     {
         Object.Destroy(this.transform.get_gameObject());
     }
     Mem.Del <Transform>(ref this.transform);
 }
 public void OnSetDestroy()
 {
     if (this._listPSTorpedoWake != null)
     {
         using (List <PSTorpedoWake> .Enumerator enumerator = this._listPSTorpedoWake.GetEnumerator())
         {
             while (enumerator.MoveNext())
             {
                 PSTorpedoWake current = enumerator.get_Current();
                 Object.Destroy(current);
             }
         }
         this._listPSTorpedoWake.Clear();
     }
     this._listPSTorpedoWake = null;
     if (this._torpedoProtect != null)
     {
         Object.Destroy(this._torpedoProtect.get_gameObject());
     }
     this._torpedoProtect = null;
     Mem.Del <bool[]>(ref this._isTorpedoHit);
     Mem.Del <bool[]>(ref this._isProtect);
     Mem.Del <Action>(ref this._actCallback);
     Mem.Del <ProdTorpedoSalvoPhase3.StateType>(ref this.stateType);
     Mem.Del <Transform>(ref this.transform);
     Mem.DelListSafe <PSTorpedoWake>(ref this._listPSTorpedoWake);
     Mem.DelDictionarySafe <FleetType, bool[]>(ref this._dicIsCriticall);
     Mem.DelDictionarySafe <FleetType, bool[]>(ref this._dicIsMiss);
     if (this._torpedoProtect != null)
     {
         Object.Destroy(this._torpedoProtect.get_gameObject());
     }
     this._torpedoProtect  = null;
     this._torpedoParticle = null;
     this._clsRaigeki      = null;
     Mem.Del <BattleFieldCamera[]>(ref this._fieldCam);
 }
 public void __createCacheDataAfterCommand__()
 {
     if (this._phase != CombatPhase.DAY)
     {
         return;
     }
     if (!this.IsTakeCommand())
     {
         return;
     }
     this._cache_opening_effect = null;
     if (this._battleData.DayBattle.OpeningProduction != null)
     {
         this._cache_opening_effect = new __EffectModel__(this._battleData.DayBattle.OpeningProduction);
     }
     this._cache_kouku = null;
     if (this._battleData.DayBattle.AirBattle != null)
     {
         int count  = this._battleData.DayBattle.AirBattle.F_PlaneFrom.get_Count();
         int count2 = this._battleData.DayBattle.AirBattle.E_PlaneFrom.get_Count();
         if (count > 0 || count2 > 0)
         {
             this._cache_kouku = new KoukuuModel(this._ships_f, this._ships_e, this._battleData.DayBattle.AirBattle);
         }
     }
     this._cache_shien = null;
     if (this._battleData.DayBattle.SupportAtack != null)
     {
         SupportAtack       supportAtack = this._battleData.DayBattle.SupportAtack;
         int                deck_Id      = supportAtack.Deck_Id;
         DeckModel          deck         = base.UserInfo.GetDeck(deck_Id);
         BattleSupportKinds supportType  = supportAtack.SupportType;
         if (supportType == BattleSupportKinds.AirAtack)
         {
             this._cache_shien = new ShienModel_Air(deck, this._ships_f, this._ships_e, supportAtack);
         }
         else if (supportType == BattleSupportKinds.Hougeki)
         {
             this._cache_shien = new ShienModel_Hou(deck, this._ships_f, this._ships_e, supportAtack);
         }
         else if (supportType == BattleSupportKinds.Raigeki)
         {
             this._cache_shien = new ShienModel_Rai(deck, this._ships_f, this._ships_e, supportAtack);
         }
     }
     this._cache_kaimaku = null;
     if (this._battleData.DayBattle.OpeningAtack != null)
     {
         this._cache_kaimaku = new RaigekiModel(this._ships_f, this._ships_e, this._battleData.DayBattle.OpeningAtack);
         if (this._cache_kaimaku.Count_f == 0 && this._cache_kaimaku.Count_e == 0)
         {
             this._cache_kaimaku = null;
         }
     }
     this._cache_cmd_actions = null;
     if (this._battleData.DayBattle.FromMiddleDayBattle != null)
     {
         this._cache_cmd_actions = new List <CmdActionPhaseModel>();
         Dictionary <int, ShipModel_BattleAll> ships = this._GetShipsDic();
         for (int i = 0; i < this._battleData.DayBattle.FromMiddleDayBattle.get_Count(); i++)
         {
             FromMiddleBattleDayData data = this._battleData.DayBattle.FromMiddleDayBattle.get_Item(i);
             CmdActionPhaseModel     cmdActionPhaseModel = new CmdActionPhaseModel(data, ships);
             this._cache_cmd_actions.Add(cmdActionPhaseModel);
         }
         if (this._cache_cmd_actions.TrueForAll((CmdActionPhaseModel model) => model == null || !model.HasAction()))
         {
             this._cache_cmd_actions = null;
         }
         else if (this._cache_cmd_actions.get_Count() == 0)
         {
             this._cache_cmd_actions = null;
         }
     }
     this._cache_raigeki = null;
     if (this._battleData.DayBattle.Raigeki != null)
     {
         this._cache_raigeki = new RaigekiModel(this._ships_f, this._ships_e, this._battleData.DayBattle.Raigeki);
         if (this._cache_raigeki.Count_f == 0 && this._cache_raigeki.Count_e == 0)
         {
             this._cache_raigeki = null;
         }
     }
     this._cache_kouku2 = null;
     if (this._battleData.DayBattle.AirBattle2 != null)
     {
         int count3 = this._battleData.DayBattle.AirBattle2.F_PlaneFrom.get_Count();
         int count4 = this._battleData.DayBattle.AirBattle2.E_PlaneFrom.get_Count();
         if (count3 > 0 || count4 > 0)
         {
             this._cache_kouku2 = new KoukuuModel(this._ships_f, this._ships_e, this._battleData.DayBattle.AirBattle2);
         }
     }
     if (this._cache_opening_effect != null)
     {
         ShipModel_Battle nextActionShip = this._GetFirstActionShip(0);
         ((__EffectModel__)this._cache_opening_effect).SetNextActionShip(nextActionShip);
     }
     if (this._cache_cmd_actions != null)
     {
         for (int j = 0; j < this._cache_cmd_actions.get_Count(); j++)
         {
             CmdActionPhaseModel cmdActionPhaseModel2 = this._cache_cmd_actions.get_Item(j);
             if (cmdActionPhaseModel2 != null && cmdActionPhaseModel2.Effect != null)
             {
                 ShipModel_Battle nextActionShip = this._GetFirstActionShip(j + 1);
                 ((__EffectModel__)cmdActionPhaseModel2.Effect).SetNextActionShip(nextActionShip);
             }
         }
     }
 }
 private void CheckNextAction()
 {
     if ((_isFriendActionExit && _isEnemyActionExit) || currentCmdActionPhase == null)
     {
         _nCurrentShellingCnt++;
         _clsState.AddState(InitCommandBuffer, UpdateCommandBuffer);
         return;
     }
     _actOnFleetAction  = null;
     _clsNowHougekiList = null;
     _clsNowRaigeki     = null;
     if (!_isFriendActionExit)
     {
         if (currentCmdActionPhase.Action_f != null)
         {
             if (currentCmdActionPhase.Action_f is HougekiListModel)
             {
                 _actOnFleetAction  = CheckNextAction;
                 _clsNowHougekiList = (currentCmdActionPhase.Action_f as HougekiListModel);
                 _clsState.AddState(InitShelling, UpdateShelling);
             }
             else
             {
                 _actOnFleetAction = CheckNextAction;
                 _clsNowRaigeki    = (currentCmdActionPhase.Action_f as RaigekiModel);
                 _clsState.AddState(InitTorpedo, UpdateTorpedo);
             }
             _isFriendActionExit = true;
         }
         else
         {
             _isFriendActionExit = true;
             CheckNextAction();
         }
     }
     else
     {
         if (_isEnemyActionExit)
         {
             return;
         }
         if (currentCmdActionPhase.Action_e != null)
         {
             if (currentCmdActionPhase.Action_e is HougekiListModel)
             {
                 _actOnFleetAction  = CheckNextAction;
                 _clsNowHougekiList = (currentCmdActionPhase.Action_e as HougekiListModel);
                 _clsState.AddState(InitShelling, UpdateShelling);
             }
             else
             {
                 _actOnFleetAction = CheckNextAction;
                 _clsNowRaigeki    = (currentCmdActionPhase.Action_e as RaigekiModel);
                 _clsState.AddState(InitTorpedo, UpdateTorpedo);
             }
             _isEnemyActionExit = true;
         }
         else
         {
             _isEnemyActionExit = true;
             CheckNextAction();
         }
     }
 }
Beispiel #20
0
        public void __createCacheDataAfterCommand__()
        {
            if (_phase != 0 || !IsTakeCommand())
            {
                return;
            }
            _cache_opening_effect = null;
            if (_battleData.DayBattle.OpeningProduction != null)
            {
                _cache_opening_effect = new __EffectModel__(_battleData.DayBattle.OpeningProduction);
            }
            _cache_kouku = null;
            if (_battleData.DayBattle.AirBattle != null)
            {
                int count  = _battleData.DayBattle.AirBattle.F_PlaneFrom.Count;
                int count2 = _battleData.DayBattle.AirBattle.E_PlaneFrom.Count;
                if (count > 0 || count2 > 0)
                {
                    _cache_kouku = new KoukuuModel(_ships_f, _ships_e, _battleData.DayBattle.AirBattle);
                }
            }
            _cache_shien = null;
            if (_battleData.DayBattle.SupportAtack != null)
            {
                SupportAtack supportAtack = _battleData.DayBattle.SupportAtack;
                int          deck_Id      = supportAtack.Deck_Id;
                DeckModel    deck         = base.UserInfo.GetDeck(deck_Id);
                switch (supportAtack.SupportType)
                {
                case BattleSupportKinds.AirAtack:
                    _cache_shien = new ShienModel_Air(deck, _ships_f, _ships_e, supportAtack);
                    break;

                case BattleSupportKinds.Hougeki:
                    _cache_shien = new ShienModel_Hou(deck, _ships_f, _ships_e, supportAtack);
                    break;

                case BattleSupportKinds.Raigeki:
                    _cache_shien = new ShienModel_Rai(deck, _ships_f, _ships_e, supportAtack);
                    break;
                }
            }
            _cache_kaimaku = null;
            if (_battleData.DayBattle.OpeningAtack != null)
            {
                _cache_kaimaku = new RaigekiModel(_ships_f, _ships_e, _battleData.DayBattle.OpeningAtack);
                if (_cache_kaimaku.Count_f == 0 && _cache_kaimaku.Count_e == 0)
                {
                    _cache_kaimaku = null;
                }
            }
            _cache_cmd_actions = null;
            if (_battleData.DayBattle.FromMiddleDayBattle != null)
            {
                _cache_cmd_actions = new List <CmdActionPhaseModel>();
                Dictionary <int, ShipModel_BattleAll> ships = _GetShipsDic();
                for (int i = 0; i < _battleData.DayBattle.FromMiddleDayBattle.Count; i++)
                {
                    FromMiddleBattleDayData data = _battleData.DayBattle.FromMiddleDayBattle[i];
                    CmdActionPhaseModel     item = new CmdActionPhaseModel(data, ships);
                    _cache_cmd_actions.Add(item);
                }
                if (_cache_cmd_actions.TrueForAll((CmdActionPhaseModel model) => model == null || !model.HasAction()))
                {
                    _cache_cmd_actions = null;
                }
                else if (_cache_cmd_actions.Count == 0)
                {
                    _cache_cmd_actions = null;
                }
            }
            _cache_raigeki = null;
            if (_battleData.DayBattle.Raigeki != null)
            {
                _cache_raigeki = new RaigekiModel(_ships_f, _ships_e, _battleData.DayBattle.Raigeki);
                if (_cache_raigeki.Count_f == 0 && _cache_raigeki.Count_e == 0)
                {
                    _cache_raigeki = null;
                }
            }
            _cache_kouku2 = null;
            if (_battleData.DayBattle.AirBattle2 != null)
            {
                int count3 = _battleData.DayBattle.AirBattle2.F_PlaneFrom.Count;
                int count4 = _battleData.DayBattle.AirBattle2.E_PlaneFrom.Count;
                if (count3 > 0 || count4 > 0)
                {
                    _cache_kouku2 = new KoukuuModel(_ships_f, _ships_e, _battleData.DayBattle.AirBattle2);
                }
            }
            if (_cache_opening_effect != null)
            {
                ShipModel_Battle nextActionShip = _GetFirstActionShip(0);
                ((__EffectModel__)_cache_opening_effect).SetNextActionShip(nextActionShip);
            }
            if (_cache_cmd_actions == null)
            {
                return;
            }
            for (int j = 0; j < _cache_cmd_actions.Count; j++)
            {
                CmdActionPhaseModel cmdActionPhaseModel = _cache_cmd_actions[j];
                if (cmdActionPhaseModel != null && cmdActionPhaseModel.Effect != null)
                {
                    ShipModel_Battle nextActionShip = _GetFirstActionShip(j + 1);
                    ((__EffectModel__)cmdActionPhaseModel.Effect).SetNextActionShip(nextActionShip);
                }
            }
        }
 private void CheckNextAction()
 {
     if ((this._isFriendActionExit && this._isEnemyActionExit) || this.currentCmdActionPhase == null)
     {
         this._nCurrentShellingCnt++;
         this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitCommandBuffer), new StatementMachine.StatementMachineUpdate(this.UpdateCommandBuffer));
         return;
     }
     this._actOnFleetAction  = null;
     this._clsNowHougekiList = null;
     this._clsNowRaigeki     = null;
     if (!this._isFriendActionExit)
     {
         if (this.currentCmdActionPhase.Action_f != null)
         {
             if (this.currentCmdActionPhase.Action_f is HougekiListModel)
             {
                 this._actOnFleetAction  = new Action(this.CheckNextAction);
                 this._clsNowHougekiList = (this.currentCmdActionPhase.Action_f as HougekiListModel);
                 this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitShelling), new StatementMachine.StatementMachineUpdate(this.UpdateShelling));
             }
             else
             {
                 this._actOnFleetAction = new Action(this.CheckNextAction);
                 this._clsNowRaigeki    = (this.currentCmdActionPhase.Action_f as RaigekiModel);
                 this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitTorpedo), new StatementMachine.StatementMachineUpdate(this.UpdateTorpedo));
             }
             this._isFriendActionExit = true;
             return;
         }
         this._isFriendActionExit = true;
         this.CheckNextAction();
         return;
     }
     else
     {
         if (this._isEnemyActionExit)
         {
             return;
         }
         if (this.currentCmdActionPhase.Action_e != null)
         {
             if (this.currentCmdActionPhase.Action_e is HougekiListModel)
             {
                 this._actOnFleetAction  = new Action(this.CheckNextAction);
                 this._clsNowHougekiList = (this.currentCmdActionPhase.Action_e as HougekiListModel);
                 this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitShelling), new StatementMachine.StatementMachineUpdate(this.UpdateShelling));
             }
             else
             {
                 this._actOnFleetAction = new Action(this.CheckNextAction);
                 this._clsNowRaigeki    = (this.currentCmdActionPhase.Action_e as RaigekiModel);
                 this._clsState.AddState(new StatementMachine.StatementMachineInitialize(this.InitTorpedo), new StatementMachine.StatementMachineUpdate(this.UpdateTorpedo));
             }
             this._isEnemyActionExit = true;
             return;
         }
         this._isEnemyActionExit = true;
         this.CheckNextAction();
         return;
     }
 }
        public static ProdTorpedoResucueCutIn Instantiate(ProdTorpedoResucueCutIn prefab, RaigekiModel model, Transform parent)
        {
            ProdTorpedoResucueCutIn prodTorpedoResucueCutIn = UnityEngine.Object.Instantiate(prefab);

            prodTorpedoResucueCutIn.transform.parent        = parent;
            prodTorpedoResucueCutIn.transform.localPosition = Vector3.zero;
            prodTorpedoResucueCutIn.transform.localScale    = Vector3.one;
            return(prodTorpedoResucueCutIn);
        }