コード例 #1
0
ファイル: ReqParty.cs プロジェクト: zunaalabaya/TAC-BOT
        public ReqParty(Network.ResponseCallback response, bool needUpdateMultiRoom = false, bool ignoreEmpty = true, bool needUpdateMultiRoomMT = false)
        {
            List <PartyData> partys = MonoSingleton <GameManager> .Instance.Player.Partys;

            this.name = "party2";
            StringBuilder stringBuilder = WebAPI.GetStringBuilder();

            stringBuilder.Append("\"parties\":[");
            int num = 0;

            for (int index1 = 0; index1 < partys.Count; ++index1)
            {
                if ((!ignoreEmpty || partys[index1].Num != 0) && index1 != 9)
                {
                    if (num > 0)
                    {
                        stringBuilder.Append(',');
                    }
                    stringBuilder.Append("{\"units\":[");
                    for (int index2 = 0; index2 < partys[index1].MAX_UNIT; ++index2)
                    {
                        if (index2 > 0)
                        {
                            stringBuilder.Append(',');
                        }
                        stringBuilder.Append(partys[index1].GetUnitUniqueID(index2));
                    }
                    stringBuilder.Append(']');
                    string stringFromPartyType = PartyData.GetStringFromPartyType((PlayerPartyTypes)index1);
                    stringBuilder.Append(",\"ptype\":\"");
                    stringBuilder.Append(stringFromPartyType);
                    stringBuilder.Append('"');
                    stringBuilder.Append('}');
                    ++num;
                }
            }
            stringBuilder.Append(']');
            if (needUpdateMultiRoom)
            {
                stringBuilder.Append(",\"roomowner\":1");
                DebugUtility.Log("UpdateMulti!");
            }
            else if (needUpdateMultiRoomMT)
            {
                stringBuilder.Append(",\"roomowner_mt\":1");
                DebugUtility.Log("UpdateMultiTower!");
            }
            this.body     = WebAPI.GetRequestString(stringBuilder.ToString());
            this.callback = response;
        }
コード例 #2
0
        public ReqOrdealPartyUpdate(Network.ResponseCallback response, List <PartyEditData> parties)
        {
            PartyData party = MonoSingleton <GameManager> .Instance.Player.Partys[9];

            this.name = "party2/ordeal/update";
            StringBuilder stringBuilder = WebAPI.GetStringBuilder();

            stringBuilder.Append("\"parties\":[");
            int num = 0;

            stringBuilder.Append("{\"units\":[");
            using (List <PartyEditData> .Enumerator enumerator = parties.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    PartyEditData current = enumerator.Current;
                    if (num > 0)
                    {
                        stringBuilder.Append(',');
                    }
                    stringBuilder.Append('[');
                    for (int index = 0; index < party.MAX_UNIT && index < current.Units.Length && current.Units[index] != null; ++index)
                    {
                        if (index > 0)
                        {
                            stringBuilder.Append(',');
                        }
                        stringBuilder.Append(current.Units[index].UniqueID);
                    }
                    stringBuilder.Append(']');
                    ++num;
                }
            }
            stringBuilder.Append(']');
            string stringFromPartyType = PartyData.GetStringFromPartyType(PlayerPartyTypes.Ordeal);

            stringBuilder.Append(",\"ptype\":\"");
            stringBuilder.Append(stringFromPartyType);
            stringBuilder.Append('"');
            stringBuilder.Append('}');
            stringBuilder.Append(']');
            this.body     = WebAPI.GetRequestString(stringBuilder.ToString());
            this.callback = response;
        }
コード例 #3
0
        private void RequestJobChange(bool immediate)
        {
            if (this.mRequestSent)
            {
                return;
            }
            PlayerPartyTypes dataOfClass = DataSource.FindDataOfClass <PlayerPartyTypes>(((Component)this).get_gameObject(), PlayerPartyTypes.Max);

            this.mRequestSent = true;
            if ((this.mTargetUnit.TempFlags & UnitData.TemporaryFlags.TemporaryUnitData) != (UnitData.TemporaryFlags) 0)
            {
                MonoSingleton <GameManager> .Instance.Player.FindUnitDataByUniqueID(this.mTargetUnit.UniqueID).SetJobFor(dataOfClass, this.mTargetUnit.CurrentJob);
            }
            UnitJobDropdown.OnJobChange(this.mTargetUnit.UniqueID);
            ReqUnitJob reqUnitJob = (this.mTargetUnit.TempFlags & UnitData.TemporaryFlags.TemporaryUnitData) != (UnitData.TemporaryFlags) 0 ? new ReqUnitJob(this.mTargetUnit.UniqueID, this.mTargetUnit.CurrentJob.UniqueID, PartyData.GetStringFromPartyType(dataOfClass), new Network.ResponseCallback(this.JobChangeResult)) : new ReqUnitJob(this.mTargetUnit.UniqueID, this.mTargetUnit.CurrentJob.UniqueID, new Network.ResponseCallback(this.JobChangeResult));

            if (immediate)
            {
                int num = (int)Network.RequestAPIImmediate((WebAPI)reqUnitJob, true);
            }
            else
            {
                Network.RequestAPI((WebAPI)reqUnitJob, false);
            }
        }