Beispiel #1
0
        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 + "]");
        }
Beispiel #2
0
 protected void PlayDamageVoice(UIBattleShip ship, DamagedStates iStates)
 {
     if (iStates != DamagedStates.Tyuuha && iStates != DamagedStates.Taiha)
     {
         ShipUtils.PlayMildCaseVoice(this._clsHougekiModel.Defender);
     }
 }
Beispiel #3
0
 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);
        }
Beispiel #6
0
        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();
            });
        }
Beispiel #7
0
        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);
        }