public void AddShipInfo(FleetType type, ShipModel_Defender ship) { bool isAfter = false; if (ship.DmgStateBefore == DamageState_Battle.Tyuuha || ship.DmgStateBefore == DamageState_Battle.Taiha || ship.DmgStateBefore == DamageState_Battle.Gekichin) { isAfter = true; } if (type == FleetType.Friend) { this._listShipDefenderF.Add(ship); this._countF = this._listShipDefenderF.get_Count(); this._listShipFriend.get_Item(this._countF - 1).mainTexture = ShipUtils.LoadTexture(ship, isAfter); this._listShipFriend.get_Item(this._countF - 1).MakePixelPerfect(); this._listShipFriend.get_Item(this._countF - 1).get_transform().set_localPosition(ShipUtils.GetShipOffsPos(ship, ship.DmgStateBefore, MstShipGraphColumn.CutIn)); } else { this._listShipDefenderE.Add(ship); this._countE = this._listShipDefenderE.get_Count(); this._listShipEnemy.get_Item(this._countE - 1).mainTexture = ShipUtils.LoadTexture(ship, isAfter); this._listShipEnemy.get_Item(this._countE - 1).MakePixelPerfect(); this._listShipEnemy.get_Item(this._countE - 1).get_transform().set_localPosition(ShipUtils.GetShipOffsPos(ship, ship.DmgStateBefore, MstShipGraphColumn.CutIn)); } this._dicIsCutIn.set_Item(type, true); }
public void SetShipData(List <ShipModel_Defender> defenderList, DamageCutInType iType) { InitMode(iType); _nDrawShipNum = defenderList.Take(_listDamageShips.Count).Count(); _clsShipModel = defenderList[0]; SetDamageShipData(defenderList); }
public override string ToString() { string text = string.Empty; List <ShipModel_Defender> defenders = GetDefenders(is_friend: true, all: true); for (int i = 0; i < defenders.Count; i++) { ShipModel_Battle shipModel_Battle = defenders[i]; if (shipModel_Battle != null) { ShipModel_Defender attackTo = GetAttackTo(shipModel_Battle.TmpId); if (attackTo != null) { RaigekiDamageModel attackDamage = GetAttackDamage(attackTo.TmpId); text += string.Format("{0}({1}) から {2}({3}) へ雷撃 (ダメ\u30fcジ:{4}(c:{7}) {5}{6})\n", shipModel_Battle.Name, shipModel_Battle.Index, attackTo.Name, attackTo.Index, attackDamage.GetDamage(shipModel_Battle.TmpId), attackDamage.GetHitState(shipModel_Battle.TmpId), (!attackDamage.GetProtectEffect(shipModel_Battle.TmpId)) ? string.Empty : "[かばう]", attackDamage.__GetDamage__(shipModel_Battle.TmpId)); } } } defenders = GetDefenders(is_friend: false, all: true); for (int j = 0; j < defenders.Count; j++) { ShipModel_Battle shipModel_Battle2 = defenders[j]; if (shipModel_Battle2 != null) { ShipModel_Defender attackTo2 = GetAttackTo(shipModel_Battle2.TmpId); if (attackTo2 != null) { RaigekiDamageModel attackDamage2 = GetAttackDamage(attackTo2.TmpId); text += string.Format("{0}({1}) から {2}({3}) へ雷撃 (ダメ\u30fcジ:{4}(c:{7}) {5}{6})\n", shipModel_Battle2.Name, shipModel_Battle2.Index, attackTo2.Name, attackTo2.Index, attackDamage2.GetDamage(shipModel_Battle2.TmpId), attackDamage2.GetHitState(shipModel_Battle2.TmpId), (!attackDamage2.GetProtectEffect(shipModel_Battle2.TmpId)) ? string.Empty : "[かばう]", attackDamage2.__GetDamage__(shipModel_Battle2.TmpId)); } } } return(text); }
private void _createTorpedoWake() { _torpedoWakes = new PSTorpedoWakes(); int num = 0; _setProtect(); Vector3 targetVec = default(Vector3); for (int i = 0; i < _fBakuraiModel.Length; i++) { if (_fBakuraiModel[i] != null && _fBakuraiModel[i].IsRaigeki()) { ShipModel_Defender defender = _fBakuraiModel[i].Defender; int num2 = (!_fBakuraiModel[i].GetProtectEffect()) ? defender.Index : 0; bool flag = (_fBakuraiModel[i].GetHitState() == BattleHitStatus.Miss) ? true : false; float num3 = (!flag) ? 0f : 1f; Vector3 injectionVec = _setTorpedoVec(num, isFriend: true); num++; _dicHitType[num2] = setHitType(FleetType.Enemy, defender.Index, flag, HitType.Torpedo); Vector3 position = _eBattleship[num2].transform.position; float x = position.x + num3; Vector3 position2 = _eBattleship[num2].transform.position; targetVec = new Vector3(x, 0f, position2.z + 1f); if (_fBakuraiModel[i].GetProtectEffect()) { Vector3 position3 = _eBattleship[defender.Index].transform.position; _torpedoWakes.SetProtectVector(num, new Vector3(position3.x + 2f, 0f, position3.z)); } _torpedoWakes.AddInstantiates(BattleTaskManager.GetBattleField().transform, injectionVec, targetVec, isFull: true, i, 2f, isDet: false, flag); } } }
public void SetShipData(List <ShipModel_Defender> defenderList, ProdDamageCutIn.DamageCutInType iType) { this.InitMode(iType); this._nDrawShipNum = Enumerable.Count <ShipModel_Defender>(Enumerable.Take <ShipModel_Defender>(defenderList, this._listDamageShips.get_Count())); this._clsShipModel = defenderList.get_Item(0); this.SetDamageShipData(defenderList); }
public void Restored(ShipModel_Defender defender) { UIBattleShip uIBattleShip = (!defender.IsFriend()) ? _dicEnemyBattleShips[defender.Index] : _dicFriendBattleShips[defender.Index]; uIBattleShip.SetActive(isActive: true); uIBattleShip.Restored(defender); }
private void _setProtect(FleetType type) { int num = (type == FleetType.Friend) ? 1 : 0; int num2 = 0; while (true) { if (num2 < _dicBakuraiModel[type].Length) { if (_dicBakuraiModel[type][num2] != null && _dicBakuraiModel[type][num2].GetProtectEffect()) { break; } num2++; continue; } return; } _isProtect[num] = true; ShipModel_Defender defender = _dicBakuraiModel[type][num2].Defender; if (type == FleetType.Friend) { _rescueCutIn.AddShipList(_eBattleship[0], _eBattleship[defender.Index]); } else { _rescueCutIn.AddShipList(_fBattleship[0], _fBattleship[defender.Index]); } }
private void _setShinking(FleetType type) { if (type == FleetType.Friend) { BattleTaskManager.GetBattleShips().UpdateDamageAll(_clsKoukuu, isFriend: false); } for (int i = 0; i < _dicBakuraiModel[type].Length; i++) { if (_dicBakuraiModel[type][i] == null) { continue; } ShipModel_Defender defender = _dicBakuraiModel[type][i].Defender; if (defender.DmgStateAfter == DamageState_Battle.Gekichin) { switch (type) { case FleetType.Friend: _eBattleship[i].PlayProdSinking(null); break; case FleetType.Enemy: _fBattleship[i].PlayProdSinking(null); break; } } } }
public void AddShipInfo(FleetType type, ShipModel_Defender ship) { bool isAfter = false; if (ship.DmgStateBefore == DamageState_Battle.Tyuuha || ship.DmgStateBefore == DamageState_Battle.Taiha || ship.DmgStateBefore == DamageState_Battle.Gekichin) { isAfter = true; } if (type == FleetType.Friend) { _listShipDefenderF.Add(ship); _countF = _listShipDefenderF.Count; _listShipFriend[_countF - 1].mainTexture = ShipUtils.LoadTexture(ship, isAfter); _listShipFriend[_countF - 1].MakePixelPerfect(); _listShipFriend[_countF - 1].transform.localPosition = ShipUtils.GetShipOffsPos(ship, ship.DmgStateBefore, MstShipGraphColumn.CutIn); } else { _listShipDefenderE.Add(ship); _countE = _listShipDefenderE.Count; _listShipEnemy[_countE - 1].mainTexture = ShipUtils.LoadTexture(ship, isAfter); _listShipEnemy[_countE - 1].MakePixelPerfect(); _listShipEnemy[_countE - 1].transform.localPosition = ShipUtils.GetShipOffsPos(ship, ship.DmgStateBefore, MstShipGraphColumn.CutIn); } _dicIsCutIn[type] = true; }
private List <Vector3> GetHeavyShipOffs(ShipModel_Defender defender) { List <Vector3> list = new List <Vector3>(); list.Add(Vector3.get_zero()); list.Add(KCV.Battle.Utils.ShipUtils.GetShipOffsPos(defender, true, MstShipGraphColumn.CutInSp1)); return(list); }
private List <Texture2D> GetHeavyShipTexture(ShipModel_Defender defender) { List <Texture2D> list = new List <Texture2D>(); list.Add(null); list.Add(KCV.Battle.Utils.ShipUtils.LoadTexture(defender, true)); return(list); }
public DamageModelBase(ShipModel_BattleAll defender) { this._defender = defender.__CreateDefender__(); this._calc_damages = new List <int>(); this._damages = new List <int>(); this._hitstates = new List <BattleHitStatus>(); this._dmgkind = new List <BattleDamageKinds>(); }
public static List <Texture2D> LoadTexture2Sinking(ShipModel_Defender model, bool isRepair) { List <Texture2D> list = new List <Texture2D>(); list.Add(LoadTexture(model.GetGraphicsMstId(), model.DamagedFlgBefore)); list.Add(LoadTexture(model.GetGraphicsMstId(), (!isRepair) ? model.DamagedFlgAfterRecovery : model.DamagedFlgAfterRecovery)); return(list); }
private List <Vector3> GetModerateShipOffs(ShipModel_Defender defender) { List <Vector3> list = new List <Vector3>(); list.Add(KCV.Battle.Utils.ShipUtils.GetShipOffsPos(defender, isDamaged: false, MstShipGraphColumn.CutInSp1)); list.Add(KCV.Battle.Utils.ShipUtils.GetShipOffsPos(defender, isDamaged: true, MstShipGraphColumn.CutInSp1)); return(list); }
private List <Texture2D> GetModerateShipTexture(ShipModel_Defender defender) { List <Texture2D> list = new List <Texture2D>(); list.Add(KCV.Battle.Utils.ShipUtils.LoadTexture(defender, isAfter: false)); list.Add(KCV.Battle.Utils.ShipUtils.LoadTexture(defender, isAfter: true)); return(list); }
public static List <Vector3> GetShipOffsPos2Sinking(ShipModel_Defender model, bool isRepair, MstShipGraphColumn iColumn) { List <Vector3> list = new List <Vector3>(); list.Add(GetShipOffsPos(model, model.DamagedFlgBefore, iColumn)); list.Add(GetShipOffsPos(model, (!isRepair) ? model.DamagedFlgAfter : model.DamagedFlgAfterRecovery, iColumn)); return(list); }
public void SetSinkingData(ShipModel_Defender ship) { _clsShipModel = ship; _iType = GetSinkingType(ship); _listShipTexture = KCV.Battle.Utils.ShipUtils.LoadTexture2Sinking(ship, isRepair); _listShipOffs = KCV.Battle.Utils.ShipUtils.GetShipOffsPos2Sinking(ship, isRepair, MstShipGraphColumn.CutInSp1); _uiShipTexture.mainTexture = _listShipTexture[0]; _uiShipTexture.MakePixelPerfect(); _uiShipTexture.transform.localPosition = _listShipOffs[0]; }
public void SetSinkingData(ShipModel_Defender ship) { this._clsShipModel = ship; this._iType = this.GetSinkingType(ship); this._listShipTexture = KCV.Battle.Utils.ShipUtils.LoadTexture2Sinking(ship, this.isRepair); this._listShipOffs = KCV.Battle.Utils.ShipUtils.GetShipOffsPos2Sinking(ship, this.isRepair, MstShipGraphColumn.CutInSp1); this._uiShipTexture.mainTexture = this._listShipTexture.get_Item(0); this._uiShipTexture.MakePixelPerfect(); this._uiShipTexture.get_transform().set_localPosition(this._listShipOffs.get_Item(0)); }
public override string ToString() { string text = string.Empty; List <ShipModel_Defender> defenders = this.GetDefenders(true, true); for (int i = 0; i < defenders.get_Count(); i++) { ShipModel_Battle shipModel_Battle = defenders.get_Item(i); if (shipModel_Battle != null) { ShipModel_Defender attackTo = this.GetAttackTo(shipModel_Battle.TmpId); if (attackTo != null) { RaigekiDamageModel attackDamage = this.GetAttackDamage(attackTo.TmpId); text += string.Format("{0}({1}) から {2}({3}) へ雷撃 (ダメージ:{4}(c:{7}) {5}{6})\n", new object[] { shipModel_Battle.Name, shipModel_Battle.Index, attackTo.Name, attackTo.Index, attackDamage.GetDamage(shipModel_Battle.TmpId), attackDamage.GetHitState(shipModel_Battle.TmpId), (!attackDamage.GetProtectEffect(shipModel_Battle.TmpId)) ? string.Empty : "[かばう]", attackDamage.__GetDamage__(shipModel_Battle.TmpId) }); } } } defenders = this.GetDefenders(false, true); for (int j = 0; j < defenders.get_Count(); j++) { ShipModel_Battle shipModel_Battle2 = defenders.get_Item(j); if (shipModel_Battle2 != null) { ShipModel_Defender attackTo2 = this.GetAttackTo(shipModel_Battle2.TmpId); if (attackTo2 != null) { RaigekiDamageModel attackDamage2 = this.GetAttackDamage(attackTo2.TmpId); text += string.Format("{0}({1}) から {2}({3}) へ雷撃 (ダメージ:{4}(c:{7}) {5}{6})\n", new object[] { shipModel_Battle2.Name, shipModel_Battle2.Index, attackTo2.Name, attackTo2.Index, attackDamage2.GetDamage(shipModel_Battle2.TmpId), attackDamage2.GetHitState(shipModel_Battle2.TmpId), (!attackDamage2.GetProtectEffect(shipModel_Battle2.TmpId)) ? string.Empty : "[かばう]", attackDamage2.__GetDamage__(shipModel_Battle2.TmpId) }); } } } return(text); }
private void SetShipTextureRestore(ShipModel_Defender model) { bool damagedFlgAfterRecovery = model.DamagedFlgAfterRecovery; int shipStandingTexID = ShipUtils.GetShipStandingTexID(model.IsFriend(), model.IsPractice(), damagedFlgAfterRecovery); if (!(_clsObject3D.mainTexture != null) || !(_clsObject3D.mainTexture.name == shipStandingTexID.ToString())) { _clsObject3D.mainTexture = ShipUtils.LoadTexture2Restore(model); _clsObject3D.MakePixelPerfect(); _clsObject3D.transform.localScale = _clsObject3D.transform.localScale * (float)model.Offsets.GetScaleMag_InBattle(model.DamagedFlgAfter); _clsObject3D.transform.localPosition = ShipUtils.GetShipOffsPos(model, damagedFlgAfterRecovery, MstShipGraphColumn.Foot); } }
public void Restored(ShipModel_Defender defender) { object3D.transform.LTCancel(); SetShipTextureRestore(defender); SetPointOfGaze2Restore(defender); SetSPPointOfGaze2Restore(defender); ((Component)_clsWakes.shipSpray).SetActive(isActive: true); _clsWakes.shipSpray.Play(); ((Component)_clsWakes.sinkSpray).SetActive(isActive: false); object3D.color = Color.white; standingPositionType = StandingPositionType.OneRow; object3D.transform.localRotation = Quaternion.Euler(Vector3.zero); }
public void Restored(ShipModel_Defender defender) { this.object3D.get_transform().LTCancel(); this.SetShipTextureRestore(defender); this.SetPointOfGaze2Restore(defender); this.SetSPPointOfGaze2Restore(defender); this._clsWakes.shipSpray.SetActive(true); this._clsWakes.shipSpray.Play(); this._clsWakes.sinkSpray.SetActive(false); this.object3D.color = Color.get_white(); this.standingPositionType = StandingPositionType.OneRow; this.object3D.get_transform().set_localRotation(Quaternion.Euler(Vector3.get_zero())); }
private void _setHpGauge(FleetType type) { int num = (type != 0) ? _fBattleship.Count : _eBattleship.Count; bool flag = (type == FleetType.Friend) ? true : false; FleetType key = flag ? FleetType.Enemy : FleetType.Friend; List <ShipModel_Defender> defenders = _clsKoukuu.GetDefenders((!flag) ? true : false, all: true); for (int i = 0; i < _dicBakuraiModel[type].Length; i++) { if (_dicBakuraiModel[type][i] == null) { continue; } ShipModel_Defender defender = _dicBakuraiModel[type][i].Defender; switch (_dicBakuraiModel[type][i].GetHitState()) { case BattleHitStatus.Normal: if (_dicHitState[key][defender.Index] != HpHitState.Critical) { _dicHitState[key][defender.Index] = HpHitState.Hit; } break; case BattleHitStatus.Clitical: _dicHitState[key][defender.Index] = HpHitState.Critical; break; case BattleHitStatus.Miss: if (_dicHitState[key][defender.Index] == HpHitState.None) { _dicHitState[key][defender.Index] = HpHitState.Miss; } break; } } for (int j = 0; j < num; j++) { int damage = _clsKoukuu.GetAttackDamage(defenders[j].TmpId)?.GetDamage() ?? (-1); BattleHitStatus status = (_dicHitState[key][j] != HpHitState.Miss) ? ((_dicHitState[key][j] != HpHitState.Critical) ? BattleHitStatus.Normal : BattleHitStatus.Clitical) : BattleHitStatus.Miss; _battleHpGauges.Init(); _battleHpGauges.SetGauge(j, flag, isLight: true, isT: false, isNumber: false); if (flag) { _battleHpGauges.SetHp(j, defenders[j].MaxHp, defenders[j].HpBefore, defenders[j].HpAfter, damage, status, isFriend: false); } else { _battleHpGauges.SetHp(j, defenders[j].MaxHp, defenders[j].HpBefore, defenders[j].HpAfter, damage, status, isFriend: false); } } }
public void CreateTorpedoWake() { ShipModel_BattleAll[] ships_f = BattleTaskManager.GetBattleManager().Ships_f; ShipModel_BattleAll[] ships_e = BattleTaskManager.GetBattleManager().Ships_e; this._setProtect(); for (int i = 0; i < this._fBattleship.get_Count(); i++) { ShipModel_BattleAll shipModel_BattleAll = ships_f[i]; ShipModel_Defender attackTo = this._clsRaigeki.GetAttackTo(shipModel_BattleAll); if (shipModel_BattleAll != null && attackTo != null) { RaigekiDamageModel attackDamage = this._clsRaigeki.GetAttackDamage(attackTo.Index, false); int arg_76_0 = (!attackDamage.GetProtectEffect(shipModel_BattleAll.TmpId)) ? attackTo.Index : 0; if (attackDamage.GetHitState(shipModel_BattleAll.TmpId) == BattleHitStatus.Miss) { this._dicIsMiss.get_Item(FleetType.Enemy)[attackTo.Index] = true; } if (attackDamage.GetHitState(shipModel_BattleAll.TmpId) == BattleHitStatus.Clitical) { this._dicIsCriticall.get_Item(FleetType.Enemy)[attackTo.Index] = true; } Vector3 injection = new Vector3(this._eBattleship.get_Item(attackTo.Index).get_transform().get_position().x, 1f, this._eBattleship.get_Item(attackTo.Index).get_transform().get_position().z + 13f); Vector3 target = new Vector3(this._eBattleship.get_Item(attackTo.Index).get_transform().get_position().x, this._eBattleship.get_Item(attackTo.Index).get_transform().get_position().y + 0.5f, this._eBattleship.get_Item(attackTo.Index).get_transform().get_position().z); this._listPSTorpedoWake.Add(this._createTorpedo(injection, target, true)); this._isTorpedoHit[0] = true; } } for (int j = 0; j < this._eBattleship.get_Count(); j++) { ShipModel_BattleAll shipModel_BattleAll2 = ships_e[j]; ShipModel_Defender attackTo2 = this._clsRaigeki.GetAttackTo(shipModel_BattleAll2); if (shipModel_BattleAll2 != null && attackTo2 != null) { RaigekiDamageModel attackDamage2 = this._clsRaigeki.GetAttackDamage(attackTo2.Index, true); int arg_233_0 = (!attackDamage2.GetProtectEffect(shipModel_BattleAll2.TmpId)) ? attackTo2.Index : 0; if (attackDamage2.GetHitState(shipModel_BattleAll2.TmpId) == BattleHitStatus.Miss) { this._dicIsMiss.get_Item(FleetType.Friend)[attackTo2.Index] = true; } if (attackDamage2.GetHitState(shipModel_BattleAll2.TmpId) == BattleHitStatus.Clitical) { this._dicIsCriticall.get_Item(FleetType.Friend)[attackTo2.Index] = true; } Vector3 injection2 = new Vector3(this._fBattleship.get_Item(attackTo2.Index).get_transform().get_position().x, 1f, this._fBattleship.get_Item(attackTo2.Index).get_transform().get_position().z - 13f); Vector3 target2 = new Vector3(this._fBattleship.get_Item(attackTo2.Index).get_transform().get_position().x, this._fBattleship.get_Item(attackTo2.Index).get_transform().get_position().y + 0.5f, this._fBattleship.get_Item(attackTo2.Index).get_transform().get_position().z); this._listPSTorpedoWake.Add(this._createTorpedo(injection2, target2, true)); this._isTorpedoHit[1] = true; } } }
public static Vector3 GetShipOffsPos(ShipModel_Defender model, DamageState_Battle damageState, MstShipGraphColumn iColumn) { if (model == null) { return(Vector3.zero); } bool isDamaged = false; if (damageState == DamageState_Battle.Tyuuha || damageState == DamageState_Battle.Taiha || damageState == DamageState_Battle.Gekichin) { isDamaged = true; } return(GetShipOffsPos(model.GetGraphicsMstId(), model.IsFriend(), isDamaged, iColumn)); }
private void SetShipTextureRestore(ShipModel_Defender model) { bool damagedFlgAfterRecovery = model.DamagedFlgAfterRecovery; int shipStandingTexID = ShipUtils.GetShipStandingTexID(model.IsFriend(), model.IsPractice(), damagedFlgAfterRecovery); if (this._clsObject3D.mainTexture != null && this._clsObject3D.mainTexture.get_name() == shipStandingTexID.ToString()) { return; } this._clsObject3D.mainTexture = ShipUtils.LoadTexture2Restore(model); this._clsObject3D.MakePixelPerfect(); this._clsObject3D.get_transform().set_localScale(this._clsObject3D.get_transform().get_localScale() * (float)model.Offsets.GetScaleMag_InBattle(model.DamagedFlgAfter)); this._clsObject3D.get_transform().set_localPosition(ShipUtils.GetShipOffsPos(model, damagedFlgAfterRecovery, MstShipGraphColumn.Foot)); }
private ProdSinking.SinkingType GetSinkingType(ShipModel_Defender model) { switch (model.DamageEventAfter) { case DamagedStates.Gekichin: return(ProdSinking.SinkingType.ProdSinking); case DamagedStates.Youin: return(ProdSinking.SinkingType.ProdSinkingRepairTeam); case DamagedStates.Megami: return(ProdSinking.SinkingType.ProdSinkingRepairGoddess); default: return(ProdSinking.SinkingType.None); } }
private void _createTorupedoWakes(bool isFriend) { int num = 0; FleetType key = (!isFriend) ? FleetType.Enemy : FleetType.Friend; FleetType fleetType = isFriend ? FleetType.Enemy : FleetType.Friend; _torpedoWakes.InitProtectVector(); for (int i = 0; i < _dicBakuraiModel[key].Length; i++) { if (_dicBakuraiModel[key][i] != null && _dicBakuraiModel[key][i].IsRaigeki()) { ShipModel_Defender defender = _dicBakuraiModel[key][i].Defender; int num2 = (!_dicBakuraiModel[key][i].GetProtectEffect()) ? defender.Index : 0; bool flag = (_dicBakuraiModel[key][i].GetHitState() == BattleHitStatus.Miss) ? true : false; float num3 = (!flag) ? 0f : 1f; Vector3 injectionVec = _setTorpedoVec(num, isFriend); num++; _dicHitType[fleetType][num2] = setHitType(fleetType, defender.Index, flag, HitType.Torpedo); Vector3 vector; if (isFriend) { Vector3 position = _eBattleship[num2].transform.position; float x = position.x + num3; Vector3 position2 = _eBattleship[num2].transform.position; vector = new Vector3(x, 0f, position2.z + 1f); } else { Vector3 position3 = _fBattleship[num2].transform.position; float x2 = position3.x + num3; Vector3 position4 = _fBattleship[num2].transform.position; vector = new Vector3(x2, 0f, position4.z - 1f); } Vector3 targetVec = vector; if (_dicBakuraiModel[key][i].GetProtectEffect()) { Vector3 vector2 = (!isFriend) ? _fBattleship[defender.Index].transform.position : _eBattleship[defender.Index].transform.position; _torpedoWakes.SetProtectVector(num, (!isFriend) ? new Vector3(vector2.x - 2f, 0f, vector2.z) : new Vector3(vector2.x + 2f, 0f, vector2.z)); } _torpedoWakes.AddInstantiates(BattleTaskManager.GetBattleField().transform, injectionVec, targetVec, isFull: true, i, 2f, isDet: false, flag); } } }
public List <ShipModel_Defender> GetDefenders(bool is_friend) { List <ShipModel_Defender> list = new List <ShipModel_Defender>(); if (is_friend) { return(new List <ShipModel_Defender>()); } for (int i = 0; i < _dmg_data.Count; i++) { if (_dmg_data[i] != null) { ShipModel_Defender defender = _dmg_data[i].Defender; if (defender.DmgStateBefore != DamageState_Battle.Gekichin && !defender.IsEscape()) { list.Add(defender); } } } return(list); }
private void _addProtectShip(Dictionary <int, UIBattleShip> attackers, Dictionary <int, UIBattleShip> defenders, FleetType defType) { bool is_friend = defType == FleetType.Friend; ShipModel_BattleAll[] array = (defType != FleetType.Friend) ? BattleTaskManager.GetBattleManager().Ships_f : BattleTaskManager.GetBattleManager().Ships_e; for (int i = 0; i < attackers.get_Count(); i++) { ShipModel_BattleAll shipModel_BattleAll = array[i]; ShipModel_Defender attackTo = this._clsRaigeki.GetAttackTo(shipModel_BattleAll); if (shipModel_BattleAll != null && attackTo != null) { RaigekiDamageModel attackDamage = this._clsRaigeki.GetAttackDamage(attackTo.Index, is_friend); if (attackDamage.GetProtectEffect(shipModel_BattleAll.TmpId)) { this._isProtect[(int)defType] = true; this._torpedoProtect.AddShipList(defenders.get_Item(0), defenders.get_Item(attackTo.Index), defType); break; } } } }