コード例 #1
0
        /// <summary>
        /// 전투결과를 CriticalPreviewPopup으로 보냅니다.
        /// </summary>
        /// <returns></returns>
        public List<PreviewBattleResults> KanResult(int combinded = -1)
        {
            if (!EnableBattlePreview) return null;
            List<PreviewBattleResults> Results = new List<PreviewBattleResults>();
            var Organization = KanColleClient.Current.Homeport.Organization;

            for (int i = 0; i < 6; i++)
            {
                PreviewBattleResults Kan = new PreviewBattleResults();
                if (combinded == -1)
                {
                    if (Organization.Fleets[this.DockId].Ships.Length > i)
                    {
                        Kan.Name = Organization.Fleets[this.DockId].Ships[i].Name;
                        Kan.Lv = Organization.Fleets[this.DockId].Ships[i].Level;
                        Kan.CHP = this.DataLists.HpResults[i];
                        Kan.MHP = this.DataLists.MHpResults[i];
                        Kan.HP = new LimitedValue(this.DataLists.HpResults[i], this.DataLists.MHpResults[i], 0);
                        Kan.Status = this.DataLists.CalResults[i];
                    }
                    if (Kan.HP.Maximum != 0 || Kan.HP.Current != 0) Results.Add(Kan);
                }
                else if (combinded == 1)
                {
                    if (Organization.Fleets[1].IsInSortie)
                    {
                        if (Organization.Fleets[1].Ships.Length > i)
                        {
                            Kan.Name = Organization.Fleets[1].Ships[i].Name;
                            Kan.Lv = Organization.Fleets[1].Ships[i].Level;
                            Kan.CHP = this.DataLists.HpResults[i];
                            Kan.MHP = this.DataLists.MHpResults[i];
                            Kan.HP = new LimitedValue(this.DataLists.HpResults[i], this.DataLists.MHpResults[i], 0);
                            Kan.Status = this.DataLists.CalResults[i];
                        }
                        if (Kan.HP.Maximum != 0 || Kan.HP.Current != 0) Results.Add(Kan);
                    }
                    else
                    {
                        for (int j = 0; j < Organization.Fleets.Count; j++)
                        {
                            if (Organization.Fleets[j].IsInSortie)
                            {
                                if (Organization.Fleets[j].Ships.Length > i)
                                {
                                    Kan.Name = Organization.Fleets[j].Ships[i].Name;
                                    Kan.Lv = Organization.Fleets[j].Ships[i].Level;
                                    Kan.CHP = this.DataLists.HpResults[i];
                                    Kan.MHP = this.DataLists.MHpResults[i];
                                    Kan.HP = new LimitedValue(this.DataLists.HpResults[i], this.DataLists.MHpResults[i], 0);
                                    Kan.Status = this.DataLists.CalResults[i];
                                }
                                if (Kan.HP.Maximum != 0 || Kan.HP.Current != 0)
                                {
                                    Results.Add(Kan);
                                    break;
                                }
                            }
                        }
                    }
                }

            }
            return Results;
        }
コード例 #2
0
        public List<PreviewBattleResults> SecondResult()
        {
            if (!EnableBattlePreview) return null;
            List<PreviewBattleResults> Results = new List<PreviewBattleResults>();
            var Organization = KanColleClient.Current.Homeport.Organization;

            for (int i = 0; i < 6; i++)
            {
                PreviewBattleResults Kan = new PreviewBattleResults();
                if (Organization.Fleets[2].Ships.Length > i)
                {
                    Kan.Name = Organization.Fleets[2].Ships[i].Name;
                    Kan.Lv = Organization.Fleets[2].Ships[i].Level;
                    Kan.CHP = this.DataLists.ComHpResults[i];
                    Kan.MHP = this.DataLists.ComMHpResults[i];
                    Kan.HP = new LimitedValue(this.DataLists.ComHpResults[i], this.DataLists.ComMHpResults[i], 0);
                    Kan.Status = this.DataLists.ComCalResults[i];
                }
                if (Kan.HP.Maximum != 0 || Kan.HP.Current != 0) Results.Add(Kan);
            }
            return Results;
        }
コード例 #3
0
        public List<PreviewBattleResults> EnemyResult()
        {
            if (!EnableBattlePreview) return null;
            List<PreviewBattleResults> Results = new List<PreviewBattleResults>();
            var ships = KanColleClient.Current.Master.Ships;

            if (!PracticeStatus && IsNewEnemy) EnemyFleet.EnemyShips = new List<string>();

            for (int i = 0; i < 6; i++)
            {
                PreviewBattleResults Enemy = new PreviewBattleResults();
                if (this.DataLists.EnemyID.Length > i + 1)
                {
                    int temp = this.DataLists.EnemyID[i + 1];
                    //심해서함 ID로 이름 찾기
                    foreach (var item in ships.Where(x => x.Value.Id == temp).ToArray())
                    {
                        if (ships.Any(x => x.Value.Id == temp))
                        {
                            Enemy.Name = item.Value.Name;
                            Enemy.Lv = DataLists.EnemyLv[i + 1];
                            Enemy.CHP = this.DataLists.EnemyHpResults[i];
                            Enemy.MHP = this.DataLists.EnemyMHpResults[i];
                            Enemy.HP = new LimitedValue(this.DataLists.EnemyHpResults[i], this.DataLists.EnemyMHpResults[i], 0);
                            Enemy.Status = this.DataLists.EnemyCalResults[i];

                            if (Enemy.HP.Maximum != 0 || Enemy.HP.Current != 0)
                            {
                                Results.Add(Enemy);
                                if (!PracticeStatus && IsNewEnemy) EnemyFleet.EnemyShips.Add(item.Value.RawData.api_name);
                            }
                        }
                    }
                }
            }
            if (!PracticeStatus && IsNewEnemy) EnemyFleet.FleetCount = EnemyFleet.EnemyShips.Count;
            return Results;
        }