private void UpdateFleets( int api_deck_id, ICommonBattleMembers data, int[] api_formation = null) { this.UpdatedTime = DateTimeOffset.Now; this.UpdateFriendFleets(api_deck_id); this.Enemies = new FleetData( data.ToMastersShipDataArray(), this.Enemies?.Formation ?? Formation.なし, this.Enemies?.Name ?? "", FleetType.Enemy); if (api_formation != null) { this.BattleSituation = (BattleSituation)api_formation[2]; if (this.FirstFleet != null) { this.FirstFleet.Formation = (Formation)api_formation[0]; } if (this.Enemies != null) { this.Enemies.Formation = (Formation)api_formation[1]; } } this.CurrentDeckId = api_deck_id; }
private void UpdateFleets(int api_deck_id, ICommonBattleMembers data, int[] api_formation = null) { // 아군 정보 모항 기준으로 갱신 this.UpdateFriendFleets(api_deck_id); this.EnemyFirst = new FleetData( data.ToMastersShipDataArray(), this.EnemyFirst?.Formation ?? Formation.없음, this.EnemyFirst?.Name ?? "", FleetType.EnemyFirst ); // 제 2함대는 없음 this.EnemySecond = new FleetData( new MembersShipData[0], Formation.없음, "", FleetType.EnemySecond ); // 진형과 전투형태 존재하면 if (api_formation != null) { if (this.AliasFirst != null) { this.AliasFirst.Formation = (Formation)api_formation[0]; } if (this.EnemyFirst != null) { this.EnemyFirst.Formation = (Formation)api_formation[1]; } } }
private void UpdateEnemyFleets(ICommonBattleMembers data) { this.EnemyFleet.Update(data.GetEnemyFleets()); if (!string.IsNullOrEmpty(this.NextCell.EnemyName)) { this.EnemyFleet.Name = this.NextCell.EnemyName; } }
public static MastersShipData[] GetEnemySecondFleetData(this ICommonBattleMembers data) { return(data.api_ship_ke_combined?.GetSection(0) .ToMastersShipDataArray( data.api_ship_lv_combined.GetSection(0).ToArray(), data.api_e_maxhps_combined.GetEnemyData().ToArray(), data.api_e_nowhps_combined.GetEnemyData().ToArray(), data.api_eParam_combined, data.api_eSlot_combined)); }
public static MastersShipData[] GetEnemyFirstFleetData(this ICommonBattleMembers data) { return(data.api_ship_ke .ToMastersShipDataArray( data.api_ship_lv.ToArray(), data.api_e_maxhps.GetEnemyData().ToArray(), data.api_e_nowhps.GetEnemyData().ToArray(), data.api_eParam, data.api_eSlot)); }
private void UpdateFleetsHPs(ICommonBattleMembers data) { this.FriendFleet.Fleets[1].UpdateHPs(data.api_f_maxhps.GetFriendData(), data.api_f_nowhps.GetFriendData()); this.EnemyFleet.Fleets[1].UpdateHPs(data.api_e_maxhps.GetEnemyData(), data.api_e_nowhps.GetEnemyData()); if (this.FriendFleet.FleetCount > 1) { this.FriendFleet.Fleets[2].UpdateHPs(data.api_f_maxhps_combined.GetFriendData(), data.api_f_nowhps_combined.GetFriendData()); } if (this.EnemyFleet.FleetCount > 1) { this.EnemyFleet.Fleets[2].UpdateHPs(data.api_e_maxhps_combined.GetEnemyData(), data.api_e_nowhps_combined.GetEnemyData()); } }
public static FleetData[] GetEnemyFleets(this ICommonBattleMembers data) { var fleet1 = data.GetEnemyFirstFleetData(); var fleet2 = data.GetEnemySecondFleetData(); if (fleet2 != null) { return(new[] { new FleetData(fleet1), new FleetData(fleet2) }); } else { return(new[] { new FleetData(fleet1) }); } }
private void UpdateFleetsHPsEc(ICommonBattleMembers data) { this.FriendFleet.Fleets[1].UpdateHPs(data.api_f_maxhps.GetFriendData(), data.api_f_nowhps.GetFriendData()); this.EnemyFleet.Fleets[1].UpdateHPs(data.api_e_maxhps.GetEnemyData(), data.api_e_nowhps.GetEnemyData()); if (this.FriendFleet.FleetCount > 1) { // each_battle->ec_midnight_battle api_maxhp_combined[1..6]==api_nowhp_combined[1..6] this.FriendFleet.Fleets[2].UpdateNowHPs(data.api_f_nowhps_combined.GetFriendData()); } if (this.EnemyFleet.FleetCount > 1) { this.EnemyFleet.Fleets[2].UpdateHPs(data.api_e_maxhps_combined.GetEnemyData(), data.api_e_nowhps_combined.GetEnemyData()); } }
public static MastersShipData[] ToMastersShipDataArray(this ICommonBattleMembers data) { var master = KanColleClient.Current.Master; return(data.api_ship_ke .Where(x => x != -1) .Select((x, i) => new MastersShipData(master.Ships[x]) { Slots = data.api_eSlot[i] .Where(s => 0 < s) .Select(s => master.SlotItems[s]) .Select(s => new ShipSlotData(s)) .ToArray(), }) .ToArray()); }
public static MastersShipData[] ToMastersShipDataArray(this ICommonBattleMembers data) { var master = KanColleClient.Current.Master; return(data.api_ship_ke .Where(x => x != -1) .Select((x, i) => new MastersShipData(master.Ships[x]) { Level = data.api_ship_lv[i], Firepower = data.api_eParam[i][0], Torpedo = data.api_eParam[i][1], AA = data.api_eParam[i][2], Armer = data.api_eParam[i][3], Slots = data.api_eSlot[i] .Where(s => 0 < s) .Select(s => master.SlotItems[s]) .Select(s => new ShipSlotData(s)) .ToArray(), }) .ToArray()); }
private void UpdateEnemyFleets(ICommonBattleMembers data, string enemyName) { this.EnemyFleet.Update(data.GetEnemyFleets()); this.EnemyFleet.Name = enemyName; }
private void UpdateFleets( int api_deck_id, ICommonBattleMembers data, int[] api_formation = null) { this.UpdatedTime = DateTimeOffset.Now; this.UpdateFriendFleets(api_deck_id); this.Enemies = new FleetData( data.ToMastersShipDataArray(), this.Enemies?.Formation ?? Formation.なし, this.Enemies?.Name ?? "", FleetType.Enemy); if (api_formation != null) { this.BattleSituation = (BattleSituation)api_formation[2]; if (this.FirstFleet != null) this.FirstFleet.Formation = (Formation)api_formation[0]; if (this.Enemies != null) this.Enemies.Formation = (Formation)api_formation[1]; } this.CurrentDeckId = api_deck_id; }