private List <DamageModelBase> _CreateRaigekiData(BakuRaiInfo Bakurai, List <ShipModel_BattleAll> ships)
        {
            List <DamageModelBase> list = new List <DamageModelBase>();

            for (int i = 0; i < ships.get_Count(); i++)
            {
                ShipModel_BattleAll shipModel_BattleAll = ships.get_Item(i);
                if (shipModel_BattleAll == null || Bakurai == null)
                {
                    list.Add(null);
                }
                else
                {
                    bool is_raigeki  = Bakurai.IsRaigeki[i];
                    bool is_bakugeki = Bakurai.IsBakugeki[i];
                    BakuRaiDamageModel bakuRaiDamageModel = new BakuRaiDamageModel(shipModel_BattleAll, is_raigeki, is_bakugeki);
                    int               damage   = Bakurai.Damage[i];
                    BattleHitStatus   hitstate = Bakurai.Clitical[i];
                    BattleDamageKinds dmgkind  = Bakurai.DamageType[i];
                    bakuRaiDamageModel.__AddData__(damage, hitstate, dmgkind);
                    list.Add(bakuRaiDamageModel);
                }
            }
            return(list);
        }
Beispiel #2
0
        public BakuRaiDamageModel GetAttackDamage(int defender_tmp_id)
        {
            BakuRaiDamageModel bakuRaiDamageModel = _bakurai_f.Find((BakuRaiDamageModel r) => r != null && r.Defender.TmpId == defender_tmp_id);

            if (bakuRaiDamageModel != null)
            {
                return(bakuRaiDamageModel);
            }
            bakuRaiDamageModel = _bakurai_e.Find((BakuRaiDamageModel r) => r != null && r.Defender.TmpId == defender_tmp_id);
            if (bakuRaiDamageModel != null)
            {
                return(bakuRaiDamageModel);
            }
            return(null);
        }
        protected string ToString_Stage3()
        {
            string text = string.Empty;

            if (this._data.Air3 != null)
            {
                text += string.Format("--Stage3 ", new object[0]);
                text += string.Format("[味方側への爆撃] {0} ", (!this.IsBakugeki_f()) ? "無" : "有");
                text += string.Format("[相手側への爆撃] {0}\n", (!this.IsBakugeki_e()) ? "無" : "有");
                SlotitemModel_Battle[] bakugekiPlanes = this.GetBakugekiPlanes(true);
                if (bakugekiPlanes.Length > 0)
                {
                    text += string.Format("--爆撃を行った艦載機(味方側)--\n", new object[0]);
                }
                for (int i = 0; i < bakugekiPlanes.Length; i++)
                {
                    text += string.Format(" [{0}]\n", bakugekiPlanes[i]);
                }
                SlotitemModel_Battle[] bakugekiPlanes2 = this.GetBakugekiPlanes(false);
                if (bakugekiPlanes2.Length > 0)
                {
                    text += string.Format("--爆撃を行った艦載機(相手側)--\n", new object[0]);
                }
                for (int j = 0; j < bakugekiPlanes2.Length; j++)
                {
                    text += string.Format(" [{0}]\n", bakugekiPlanes2[j]);
                }
                SlotitemModel_Battle[] raigekiPlanes = this.GetRaigekiPlanes(true);
                if (raigekiPlanes.Length > 0)
                {
                    text += string.Format("--雷撃を行った艦載機(味方側)--\n", new object[0]);
                }
                for (int k = 0; k < raigekiPlanes.Length; k++)
                {
                    text += string.Format(" [{0}]\n", raigekiPlanes[k]);
                }
                SlotitemModel_Battle[] raigekiPlanes2 = this.GetRaigekiPlanes(false);
                if (raigekiPlanes2.Length > 0)
                {
                    text += string.Format("--雷撃を行った艦載機(相手側)--\n", new object[0]);
                }
                for (int l = 0; l < raigekiPlanes2.Length; l++)
                {
                    text += string.Format(" [{0}]\n", raigekiPlanes2[l]);
                }
                BakuRaiDamageModel[] array = this.GetRaigekiData_f();
                for (int m = 0; m < array.Length; m++)
                {
                    BakuRaiDamageModel bakuRaiDamageModel = array[m];
                    if (bakuRaiDamageModel != null)
                    {
                        if (bakuRaiDamageModel.IsRaigeki() || bakuRaiDamageModel.IsBakugeki())
                        {
                            text += string.Format("{0}({1}) へ雷撃 (ダメージ:{2} {3}{4}) {5}{6}\n", new object[]
                            {
                                bakuRaiDamageModel.Defender.Name,
                                bakuRaiDamageModel.Defender.Index,
                                bakuRaiDamageModel.GetDamage(),
                                bakuRaiDamageModel.GetHitState(),
                                (!bakuRaiDamageModel.GetProtectEffect()) ? string.Empty : "[かばう]",
                                (!bakuRaiDamageModel.IsBakugeki()) ? string.Empty : "[爆]",
                                (!bakuRaiDamageModel.IsRaigeki()) ? string.Empty : "[雷]"
                            });
                        }
                    }
                }
                array = this.GetRaigekiData_e();
                for (int n = 0; n < array.Length; n++)
                {
                    BakuRaiDamageModel bakuRaiDamageModel2 = array[n];
                    if (bakuRaiDamageModel2 != null)
                    {
                        if (bakuRaiDamageModel2.IsRaigeki() || bakuRaiDamageModel2.IsBakugeki())
                        {
                            text += string.Format("{0}({1}) へ雷撃 (ダメージ:{2} {3}{4}) {5}{6}\n", new object[]
                            {
                                bakuRaiDamageModel2.Defender.Name,
                                bakuRaiDamageModel2.Defender.Index,
                                bakuRaiDamageModel2.GetDamage(),
                                bakuRaiDamageModel2.GetHitState(),
                                (!bakuRaiDamageModel2.GetProtectEffect()) ? string.Empty : "[かばう]",
                                (!bakuRaiDamageModel2.IsBakugeki()) ? string.Empty : "[爆]",
                                (!bakuRaiDamageModel2.IsRaigeki()) ? string.Empty : "[雷]"
                            });
                        }
                    }
                }
            }
            return(text);
        }