public override string ToString() { string str = $"{base.Name}(mstId:{base.MstId})[{HpBefore}/{MaxHp}({DmgStateBefore})"; if (!_set_damage) { return(str + "]"); } if (_rengeki) { str += $" => {HpPreAfter}/{MaxHp}({DmgStatePreAfter}"; DamagedStates damageEventPreAfter = DamageEventPreAfter; str = ((damageEventPreAfter == DamagedStates.None) ? (str + ")") : (str + $"・{damageEventPreAfter})")); str += $" => {HpAfter}/{MaxHp}({DmgStateAfter}"; damageEventPreAfter = DamageEventAfter; str = ((damageEventPreAfter == DamagedStates.None) ? (str + ")") : (str + $"・{damageEventPreAfter})")); } else { str += $" => {HpAfter}/{MaxHp}({DmgStateAfter}"; DamagedStates damageEventAfter = DamageEventAfter; str = ((damageEventAfter == DamagedStates.None) ? (str + ")") : (str + $"・{damageEventAfter})")); } if (DamageEventAfter == DamagedStates.Youin) { return(str + $" (Youin)=> {HpAfterRecovery}/{MaxHp}({DmgStateAfterRecovery})]"); } if (DamageEventAfter == DamagedStates.Megami) { return(str + $" (Megami)=> {HpAfterRecovery}/{MaxHp}({DmgStateAfterRecovery})]"); } return(str + "]"); }
protected void PlayDamageVoice(UIBattleShip ship, DamagedStates iStates) { if (iStates != DamagedStates.Tyuuha && iStates != DamagedStates.Taiha) { ShipUtils.PlayMildCaseVoice(this._clsHougekiModel.Defender); } }
public List <ShipModel_Defender> GetDefenders(bool is_friend, DamagedStates damage_event) { if (is_friend == base.Defender.IsFriend() && base.Defender.DamageEventAfter == damage_event) { List <ShipModel_Defender> list = new List <ShipModel_Defender>(); list.Add(base.Defender); return(list); } return(new List <ShipModel_Defender>()); }
private DamagedStates _GetDamageEvent(DamageState_Battle before, DamageState_Battle pre_after, DamageState_Battle after) { DamagedStates damagedStates = this.__GetDamageEvent(before, after); if (this._rengeki && damagedStates == DamagedStates.Shouha && pre_after == DamageState_Battle.Shouha) { return(DamagedStates.None); } return(damagedStates); }
private DamagedStates _GetDamageEvent1(DamageState_Battle before, DamageState_Battle pre_after) { DamagedStates damagedStates = this.__GetDamageEvent(before, pre_after); if (damagedStates == DamagedStates.Shouha) { return(damagedStates); } return(DamagedStates.None); }
private void PlayHeavyDamage(DamagedStates status) { List <ShipModel_Defender> list = new List <ShipModel_Defender>(); list.AddRange(_queFriedShipModel.ToArray()); _queFriedShipModel.Clear(); ProdDamageCutIn.DamageCutInType damageCutInType = (status == DamagedStates.Taiha) ? ProdDamageCutIn.DamageCutInType.Heavy : ProdDamageCutIn.DamageCutInType.Moderate; ProdDamageCutIn prodDamageCutIn = BattleTaskManager.GetPrefabFile().prodDamageCutIn; prodDamageCutIn.SetShipData(list, damageCutInType); prodDamageCutIn.Play(damageCutInType, delegate { BattleShips battleShips = BattleTaskManager.GetBattleShips(); battleShips.UpdateDamageAll(_iBattlePhase); ObserverActionQueue observerAction = BattleTaskManager.GetObserverAction(); observerAction.Executions(); OnFinished(); }); }
protected virtual void ChkDamagedStateFmAnticipating(Vector3 closeUpPos) { BattleCameras battleCameras = BattleTaskManager.GetBattleCameras(); BattleFieldCamera battleFieldCamera = battleCameras.fieldCameras.get_Item(0); switch (this._clsHougekiModel.Defender.DamageEventAfter) { case DamagedStates.None: case DamagedStates.Shouha: battleFieldCamera.get_transform().LTMove(closeUpPos, BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME.get_Item(1)).setEase(BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_EASING_TYPE.get_Item(1)).setOnComplete(delegate { this.OnFinished(); }); break; case DamagedStates.Tyuuha: case DamagedStates.Taiha: battleFieldCamera.get_transform().LTMove(closeUpPos, BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME.get_Item(1)).setEase(BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_EASING_TYPE.get_Item(1)).setOnComplete(delegate { ShellingProdSubject shellingProdSubject2 = (!this.isProtect) ? ShellingProdSubject.Defender : ShellingProdSubject.Protector; if (this._listBattleShips.get_Item((int)shellingProdSubject2).shipModel.IsFriend()) { DamagedStates damageEventAfter = this._clsHougekiModel.Defender.DamageEventAfter; ProdDamageCutIn.DamageCutInType iType = (damageEventAfter != DamagedStates.Taiha) ? ProdDamageCutIn.DamageCutInType.Moderate : ProdDamageCutIn.DamageCutInType.Heavy; ProdDamageCutIn prodDamageCutIn = BattleTaskManager.GetPrefabFile().prodDamageCutIn; ProdDamageCutIn arg_76_0 = prodDamageCutIn; List <ShipModel_Defender> list = new List <ShipModel_Defender>(); list.Add(this._clsHougekiModel.Defender); arg_76_0.SetShipData(list, iType); prodDamageCutIn.Play(iType, delegate { BattleTaskManager.GetPrefabFile().circleHPGauge.get_transform().set_localScale(Vector3.get_zero()); }, delegate { BattleTaskManager.GetBattleShips().UpdateDamageAll(this._clsHougekiModel); this.OnFinished(); }); } else { this.OnFinished(); } }); break; case DamagedStates.Gekichin: case DamagedStates.Youin: case DamagedStates.Megami: { bool isFriend = this._listBattleShips.get_Item(1).shipModel.IsFriend(); ShellingProdSubject shellingProdSubject = (!this.isProtect) ? ShellingProdSubject.Defender : ShellingProdSubject.Protector; this._listBattleShips.get_Item((int)shellingProdSubject).PlayProdSinking(null); battleFieldCamera.get_transform().LTMove(closeUpPos, BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME.get_Item(2)).setEase(BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_EASING_TYPE.get_Item(1)).setOnComplete(delegate { if (!isFriend) { this.OnFinished(); } }); if (isFriend) { Observable.Timer(TimeSpan.FromSeconds(1.0)).Subscribe(delegate(long _) { ProdSinking prodSinking = BattleTaskManager.GetPrefabFile().prodSinking; prodSinking.SetSinkingData(this._clsHougekiModel.Defender); prodSinking.Play(delegate { BattleTaskManager.GetPrefabFile().circleHPGauge.get_transform().set_localScale(Vector3.get_zero()); }, delegate { }, delegate { this.OnFinished(); }); BattleTaskManager.GetPrefabFile().circleHPGauge.get_transform().set_localScale(Vector3.get_zero()); }); } break; } } }
public List <ShipModel_Defender> GetDefenders(bool is_friend, DamagedStates damage_event) { List <ShipModel_Defender> defenders = this.GetDefenders(is_friend); return(defenders.FindAll((ShipModel_Defender ship) => ship.DamageEventAfter == damage_event)); }
protected virtual void ChkDamagedStateFmAnticipating(Vector3 closeUpPos) { BattleCameras battleCameras = BattleTaskManager.GetBattleCameras(); BattleFieldCamera battleFieldCamera = battleCameras.fieldCameras[0]; switch (_clsHougekiModel.Defender.DamageEventAfter) { case DamagedStates.Gekichin: case DamagedStates.Youin: case DamagedStates.Megami: { bool isFriend = _listBattleShips[1].shipModel.IsFriend(); ShellingProdSubject index = (!isProtect) ? ShellingProdSubject.Defender : ShellingProdSubject.Protector; _listBattleShips[(int)index].PlayProdSinking(null); battleFieldCamera.transform.LTMove(closeUpPos, BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME[2]).setEase(BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_EASING_TYPE[1]).setOnComplete((Action) delegate { if (!isFriend) { OnFinished(); } }); if (isFriend) { Observable.Timer(TimeSpan.FromSeconds(1.0)).Subscribe(delegate { ProdSinking prodSinking = BattleTaskManager.GetPrefabFile().prodSinking; prodSinking.SetSinkingData(_clsHougekiModel.Defender); prodSinking.Play(delegate { BattleTaskManager.GetPrefabFile().circleHPGauge.transform.localScale = Vector3.zero; }, delegate { }, delegate { OnFinished(); }); BattleTaskManager.GetPrefabFile().circleHPGauge.transform.localScale = Vector3.zero; }); } break; } case DamagedStates.Tyuuha: case DamagedStates.Taiha: battleFieldCamera.transform.LTMove(closeUpPos, BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME[1]).setEase(BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_EASING_TYPE[1]).setOnComplete((Action) delegate { ShellingProdSubject index2 = (!isProtect) ? ShellingProdSubject.Defender : ShellingProdSubject.Protector; if (_listBattleShips[(int)index2].shipModel.IsFriend()) { DamagedStates damageEventAfter = _clsHougekiModel.Defender.DamageEventAfter; ProdDamageCutIn.DamageCutInType iType = (damageEventAfter == DamagedStates.Taiha) ? ProdDamageCutIn.DamageCutInType.Heavy : ProdDamageCutIn.DamageCutInType.Moderate; ProdDamageCutIn prodDamageCutIn = BattleTaskManager.GetPrefabFile().prodDamageCutIn; prodDamageCutIn.SetShipData(new List <ShipModel_Defender> { _clsHougekiModel.Defender }, iType); prodDamageCutIn.Play(iType, delegate { BattleTaskManager.GetPrefabFile().circleHPGauge.transform.localScale = Vector3.zero; }, delegate { BattleTaskManager.GetBattleShips().UpdateDamageAll(_clsHougekiModel); OnFinished(); }); } else { OnFinished(); } }); break; case DamagedStates.None: case DamagedStates.Shouha: battleFieldCamera.transform.LTMove(closeUpPos, BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_TIME[1]).setEase(BattleDefines.SHELLING_ATTACK_DEFENDER_CLOSEUP_EASING_TYPE[1]).setOnComplete((Action) delegate { OnFinished(); }); break; } }
public override string ToString() { string text = string.Format("{0}(mstId:{1})[{2}/{3}({4})", new object[] { base.Name, base.MstId, this.HpBefore, this.MaxHp, this.DmgStateBefore }); if (!this._set_damage) { return(text + "]"); } if (this._rengeki) { text += string.Format(" => {0}/{1}({2}", this.HpPreAfter, this.MaxHp, this.DmgStatePreAfter); DamagedStates damagedStates = this.DamageEventPreAfter; if (damagedStates != DamagedStates.None) { text += string.Format("・{0})", damagedStates); } else { text += ")"; } text += string.Format(" => {0}/{1}({2}", this.HpAfter, this.MaxHp, this.DmgStateAfter); damagedStates = this.DamageEventAfter; if (damagedStates != DamagedStates.None) { text += string.Format("・{0})", damagedStates); } else { text += ")"; } } else { text += string.Format(" => {0}/{1}({2}", this.HpAfter, this.MaxHp, this.DmgStateAfter); DamagedStates damageEventAfter = this.DamageEventAfter; if (damageEventAfter != DamagedStates.None) { text += string.Format("・{0})", damageEventAfter); } else { text += ")"; } } if (this.DamageEventAfter == DamagedStates.Youin) { text += string.Format(" (Youin)=> {0}/{1}({2})]", this.HpAfterRecovery, this.MaxHp, this.DmgStateAfterRecovery); } else if (this.DamageEventAfter == DamagedStates.Megami) { text += string.Format(" (Megami)=> {0}/{1}({2})]", this.HpAfterRecovery, this.MaxHp, this.DmgStateAfterRecovery); } else { text += "]"; } return(text); }