protected override void OnDestroy() { base.OnDestroy(); Mem.DelListSafe <UITexture>(ref this._listShipTex); Mem.Del <ProdTorpedoCutIn.AnimationList>(ref this._iList); this._clsRaigeki = null; }
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); }
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); }
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); }
public ProdShellingTorpedo(RaigekiModel model) { this._clsState = new StatementMachine(); this._isPlaying = false; this._actOnFinished = null; this._clsRaigeki = model; BattleTaskManager.GetBattleCameras().enemyFieldCamera.cullingMask = BattleTaskManager.GetBattleCameras().GetDefaultLayers(); }
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); }
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); }
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(); } } }
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); }