/// <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; }
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; }
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; }