Beispiel #1
0
        static void test_request()
        {
            string api_mapcell_request = "api%5Fmapinfo%5Fno=5&api%5Fmaparea%5Fid=27&api%5Fverno=1&api%5Ftoken=xxx";
            var    mapcell_request     = new KanColleLib.TransmissionRequest.api_get_member.MapcellRequest(api_mapcell_request);

            string api_ship3_request = "api%5Fverno=1&spi%5Fsort%5Forder=2&api%5Fsort%5Fkey=5&api%5Ftoken=xxx";
            var    ship3_request     = new KanColleLib.TransmissionRequest.api_get_member.Ship3Request(api_ship3_request);

            string api_ship3_request_2 = "api%5Fverno=1&spi%5Fsort%5Forder=1&api%5Fshipid=14315&api%5Fsort%5Fkey=1&api%5Ftoken=xxx";
            var    ship3_request_2     = new KanColleLib.TransmissionRequest.api_get_member.Ship3Request(api_ship3_request_2);

            string api_change = "api%5Fid=1&api%5Fship%5Fid=%2D2&api%5Fverno=1&api%5Ftoken=xxx&api%5Fship%5Fidx=%2D1";
            var    change     = new KanColleLib.TransmissionRequest.api_req_hensei.ChangeRequest(api_change);

            string api_port = "api%5Fverno=1&api%5Fport=8525211803957362787025&api%5Ftoken=xxx&spi%5Fsort%5Forder=2&api%5Fsort%5Fkey=5";
            var    port     = new KanColleLib.TransmissionRequest.api_port.PortRequest(api_port);

            string api_charge = "api%5Fverno=1&api%5Fonslot=1&api%5Fid%5Fitems=379%2C858%2C2061%2C857%2C125%2C1366&api%5Ftoken=xxx&api%5Fkind=3";
            var    charge     = new KanColleLib.TransmissionRequest.api_req_hokyu.ChargeRequest(api_charge);

            string api_nyukyostart = "api%5Fverno=1&api%5Fship%5Fid=14315&api%5Fndock%5Fid=2&api%5Ftoken=xxx&api%5Fhighspeed=0";
            var    nyukyostart     = new KanColleLib.TransmissionRequest.api_req_nyukyo.StartRequest(api_nyukyostart);

            string api_missionstart = "api%5Fmission=55&api%5Fmission%5Fid=21&api%5Fdeck%5Fid=2&api%5Fverno=1&api%5Ftoken=xxx";
            var    missionstart     = new KanColleLib.TransmissionRequest.api_req_mission.StartRequest(api_missionstart);

            string api_changecomment = "api%5Fverno=1&api%5Fcmt%5Fid=127435711&api%5Ftoken=xxx&api%5Fcmt=1%E6%97%A51%E9%8C%A0%E3%83%AA%E3%82%B9%E3%83%9A%E3%83%AA%E3%83%89%E3%83%B3%E3%80%82";
            var    changecomment     = new KanColleLib.TransmissionRequest.api_req_member.UpdatecommentRequest(api_changecomment);

            string api_changedeckname = "api%5Fname=%E9%9B%BB%E7%A3%81%E6%B0%97%E5%AD%A6&api%5Fdeck%5Fid=3&api%5Fverno=1&api%5Fname%5Fid=127435660&api%5Ftoken=xxx";
            var    changedeckname     = new KanColleLib.TransmissionRequest.api_req_member.UpdatedecknameRequest(api_changedeckname);
        }
Beispiel #2
0
        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);
                                }
                            }
                        }
                    }
                }
            }
        }