void kclib_GetReqkousyouCreateitem(object sender, KanColleLib.TransmissionRequest.api_req_kousyou.CreateitemRequest request, KanColleLib.TransmissionData.Svdata <KanColleLib.TransmissionData.api_req_kousyou.Createitem> response) { if (response.data.slot_item != null) { slotdata.Add(new SlotData() { id = response.data.slot_item.id, itemid = response.data.slot_item.slotitem_id }); basicdata.now_equipment_number = slotdata.Count; } }
async void kclib_GetGetmemberSlotItem(object sender, KanColleLib.TransmissionRequest.RequestBase request, KanColleLib.TransmissionData.Svdata <KanColleLib.TransmissionData.api_get_member.SlotItem> response) { await Task.Run(() => { foreach (var item in response.data.slotitems) { if (!slotdata.Any(_ => _.id == item.id)) { slotdata.Add(new SlotData() { id = item.id, itemid = item.slotitem_id }); } } var deletelist = (from _ in slotdata where !response.data.slotitems.Any(__ => __.id == _.id) select _).ToList(); foreach (var item in deletelist) { slotdata.Remove(item); } basicdata.now_equipment_number = slotdata.Count; }); }
async void kclib_GetPortPort(object sender, KanColleLib.TransmissionRequest.api_port.PortRequest request, KanColleLib.TransmissionData.Svdata <KanColleLib.TransmissionData.api_port.Port> response) { basicdata.FromMaterial(response.data.material); await AppendShipDataFromList(response.data.ship.ships); await DeleteShipDataFromList(response.data.ship.ships); AppendDeckValue(response.data.deck_port); AppendNDockValue(response.data.ndock); InitializeConfirm(); }
async void kclib_GetStart2(object sender, KanColleLib.TransmissionRequest.RequestBase request, KanColleLib.TransmissionData.Svdata <KanColleLib.TransmissionData.api_start2.Start2> response) { await Task.Run(() => { charamaster = new Dictionary <int, CharacterData>(); foreach (var chara in response.data.mst_ship) { charamaster.Add(chara.id, CharacterData.fromKanColleLib(chara)); } System.Diagnostics.Debug.WriteLine("Get: api_start2/mst_ship"); InitializeConfirm(); }); await Task.Run(() => { shiptypemaster = new Dictionary <int, ShiptypeData>(); foreach (var stype in response.data.mst_stype) { shiptypemaster.Add(stype.id, new ShiptypeData() { name = stype.name }); } System.Diagnostics.Debug.WriteLine("Get: api_start2/mst_stype"); InitializeConfirm(); }); await Task.Run(() => { missionmaster = new Dictionary <int, MissionData>(); foreach (var mission in response.data.mst_mission) { missionmaster.Add(mission.id, new MissionData() { name = mission.name, time_minute = mission.time }); } System.Diagnostics.Debug.WriteLine("Get: api_start2/mst_mission"); InitializeConfirm(); }); await Task.Run(() => { slotitemmaster = new Dictionary <int, ItemData>(); foreach (var item in response.data.mst_slotitem) { slotitemmaster.Add(item.id, new ItemData() { name = item.name, type_equiptype = item.type[2], taiku = item.tyku }); } InitializeConfirm(); }); await Task.Run(() => { slotitem_equiptypemaster = new Dictionary <int, ItemEquipTypeData>(); foreach (var item in response.data.mst_slotitem_equiptype) { slotitem_equiptypemaster.Add(item.id, new ItemEquipTypeData() { name = item.name, typebrush = KanColleTools.GetSlotItemEquipTypeBrush(item.id) }); } }); }
void kclib_GetGetmemberDeck(object sender, KanColleLib.TransmissionRequest.RequestBase request, KanColleLib.TransmissionData.Svdata <KanColleLib.TransmissionData.api_get_member.Deck> response) { AppendDeckValue(response.data); }
async void kclib_GetGetmemberShip2(object sender, KanColleLib.TransmissionRequest.api_get_member.Ship2Request request, KanColleLib.TransmissionData.Svdata <KanColleLib.TransmissionData.api_get_member.Ship2> response) { await AppendShipDataFromList(response.data.ships); }
void kclib_GetReqmissionReturnInstruction(object sender, KanColleLib.TransmissionRequest.api_req_mission.ReturnInstructionRequest request, KanColleLib.TransmissionData.Svdata <KanColleLib.TransmissionData.api_req_mission.ReturnInstruction> response) { if (fleetdata.Count > request.deck_id - 1) { if (response.data.mission.Length >= 3) { fleetdata[request.deck_id - 1].ChangeMissionStatus((int)response.data.mission[0], (int)response.data.mission[1], response.data.mission[2]); } else { fleetdata[request.deck_id - 1].ChangeMissionStatus(-1, -1, -1); } } }
void kclib_GetReqmissionStart(object sender, KanColleLib.TransmissionRequest.api_req_mission.StartRequest request, KanColleLib.TransmissionData.Svdata <KanColleLib.TransmissionData.api_req_mission.Start> response) { if (fleetdata.Count > request.deck_id - 1) { fleetdata[request.deck_id - 1].ChangeMissionStatus(1, request.mission_id, response.data.complatetime); // 遠征中の1は固定 } }
void kclib_GetReqkousyouGetship(object sender, KanColleLib.TransmissionRequest.api_req_kousyou.GetshipRequest request, KanColleLib.TransmissionData.Svdata <KanColleLib.TransmissionData.api_req_kousyou.Getship> response) { AppendKDockValue(response.data.kdock); AppendShipData(response.data.ship); }
void kclib_GetReqkousyouDestroyship(object sender, KanColleLib.TransmissionRequest.api_req_kousyou.DestroyshipRequest request, KanColleLib.TransmissionData.Svdata <object> response) { DestroyShip(request.ship_id); }
void kclib_GetGetmemberBasic(object sender, KanColleLib.TransmissionRequest.RequestBase request, KanColleLib.TransmissionData.Svdata <KanColleLib.TransmissionData.api_get_member.Basic> response) { basicdata.admiral_name = response.data.nickname; basicdata.admiral_comment = response.data.comment; basicdata.AppendRank(response.data.rank); basicdata.admiral_level = response.data.level; basicdata.admiral_exp = response.data.experience; basicdata.furniture_coin = response.data.fcoin; basicdata.max_ship = response.data.max_chara; basicdata.max_equipment = response.data.max_slotitem; }
void kclib_GetGetmemberMaterial(object sender, KanColleLib.TransmissionRequest.RequestBase request, KanColleLib.TransmissionData.Svdata <KanColleLib.TransmissionData.api_get_member.Material> response) { basicdata.FromMaterial(response.data); }
void kclib_GetReqhenseiChange(object sender, KanColleLib.TransmissionRequest.api_req_hensei.ChangeRequest request, KanColleLib.TransmissionData.Svdata <object> response) { if (request.id - 1 < fleetdata.Count) { if (request.ship_id == -2) { // 旗艦以外全部解除 int removecount = fleetdata[request.id - 1].ships.Count - 1; for (int i = 0; i < removecount; i++) { fleetdata[request.id - 1].ships.RemoveAt(1); } } else if (request.ship_id == -1) { // その艦をはずす fleetdata[request.id - 1].ships.RemoveAt(request.ship_idx); } else { int replaceindex = fleetdata[request.id - 1].ships.IndexOf(request.ship_id); if (replaceindex != -1) { // 艦隊の中に指定艦がいる場合 if (fleetdata[request.id - 1].ships.Count > request.ship_idx) { // 他の艦との交代である場合 int replaceshipid = fleetdata[request.id - 1].ships[request.ship_idx]; fleetdata[request.id - 1].ships[request.ship_idx] = request.ship_id; fleetdata[request.id - 1].ships[replaceindex] = replaceshipid; } else { // なにもないところに宣言した場合 fleetdata[request.id - 1].ships.RemoveAt(request.ship_idx); fleetdata[request.id - 1].ships.Add(request.ship_id); } } else { if (fleetdata[request.id - 1].ships.Count > request.ship_idx) { // 他の艦との交代である場合 // もとの艦のID int replaceshipid = fleetdata[request.id - 1].ships[request.ship_idx]; fleetdata[request.id - 1].ships[request.ship_idx] = request.ship_id; // 他の艦隊に同艦がいないかどうか確かめる for (int i = 0; i < fleetdata.Count; i++) { if (i == request.id - 1) { continue; } int rplidx = fleetdata[i].ships.IndexOf(request.ship_id); if (rplidx != -1) { fleetdata[i].ships[rplidx] = replaceshipid; } } } else { // なにもないところに宣言した場合 fleetdata[request.id - 1].ships.Add(request.ship_id); // 他の艦隊に同艦がいないかどうか確かめる for (int i = 0; i < fleetdata.Count; i++) { if (i == request.id - 1) { continue; } int rplidx = fleetdata[i].ships.IndexOf(request.ship_id); if (rplidx != -1) { fleetdata[i].ships.RemoveAt(rplidx); } } } } } } }