public ReqBtlComEnd(long btlid, int time, BtlResultTypes result, int[] beats, int[] itemSteals, int[] goldSteals, int[] missions, string[] fuid, Dictionary <OString, OInt> usedItems, Network.ResponseCallback response, BtlEndTypes apiType, string trophyprog = null, string bingoprog = null, int elem = 0, string rankingQuestEndParam = null) { StringBuilder stringBuilder = WebAPI.GetStringBuilder(); stringBuilder.Append("btl/"); stringBuilder.Append(apiType.ToString()); stringBuilder.Append("/end"); this.name = stringBuilder.ToString(); this.body = WebAPI.GetRequestString(this.makeBody(false, btlid, time, result, beats, itemSteals, goldSteals, missions, fuid, usedItems, response, apiType, trophyprog, bingoprog, elem, rankingQuestEndParam)); this.callback = response; }
public ReqBtlComEnd(string req_fuid, int opp_rank, int my_rank, BtlResultTypes result, int[] beats, int[] itemSteals, int[] goldSteals, int[] missions, string[] fuid, Dictionary <OString, OInt> usedItems, Network.ResponseCallback response, BtlEndTypes apiType, string trophyprog = null, string bingoprog = null) { this.name = "btl/colo/exec"; StringBuilder stringBuilder = WebAPI.GetStringBuilder(); stringBuilder.Append("\"fuid\":\""); stringBuilder.Append(req_fuid); stringBuilder.Append("\""); stringBuilder.Append(",\"opp_rank\":"); stringBuilder.Append(opp_rank); stringBuilder.Append(",\"my_rank\":"); stringBuilder.Append(my_rank); this.body = WebAPI.GetRequestString(stringBuilder.ToString() + "," + this.makeBody(true, 0L, 0, result, beats, itemSteals, goldSteals, missions, fuid, usedItems, response, apiType, trophyprog, bingoprog, 0, (string)null)); this.callback = response; }
public ReqVersusEnd(long btlid, BtlResultTypes result, string uid, string fuid, uint turn, int[] myhp, int[] enhp, int atk, int dmg, int heal, int beat, Network.ResponseCallback response, VERSUS_TYPE type, string trophyprog = null, string bingoprog = null) { StringBuilder stringBuilder = WebAPI.GetStringBuilder(); stringBuilder.Append("vs/"); stringBuilder.Append(type.ToString().ToLower()); stringBuilder.Append("match/end"); this.name = stringBuilder.ToString(); stringBuilder.Length = 0; stringBuilder.Append("\"btlid\":"); stringBuilder.Append(btlid); stringBuilder.Append(','); stringBuilder.Append("\"btlendparam\":{"); stringBuilder.Append("\"result\":\""); switch (result) { case BtlResultTypes.Win: stringBuilder.Append("win"); break; case BtlResultTypes.Lose: stringBuilder.Append("lose"); break; case BtlResultTypes.Retire: stringBuilder.Append("retire"); break; case BtlResultTypes.Cancel: stringBuilder.Append("cancel"); break; case BtlResultTypes.Draw: stringBuilder.Append("draw"); break; } stringBuilder.Append("\","); stringBuilder.Append("\"token\":\""); stringBuilder.Append(JsonEscape.Escape(GlobalVars.SelectedMultiPlayRoomName)); stringBuilder.Append("\","); stringBuilder.Append("\"turn\":\""); stringBuilder.Append(turn); stringBuilder.Append("\""); stringBuilder.Append(","); stringBuilder.Append("\"atk\":\""); stringBuilder.Append(atk); stringBuilder.Append("\""); stringBuilder.Append(","); stringBuilder.Append("\"dmg\":\""); stringBuilder.Append(dmg); stringBuilder.Append("\""); stringBuilder.Append(","); stringBuilder.Append("\"heal\":\""); stringBuilder.Append(heal); stringBuilder.Append("\""); stringBuilder.Append(","); stringBuilder.Append("\"beatcnt\":"); stringBuilder.Append(beat); if (myhp != null) { stringBuilder.Append(','); stringBuilder.Append("\"myhp\":["); for (int index = 0; index < myhp.Length; ++index) { if (index > 0) { stringBuilder.Append(','); } stringBuilder.Append(myhp[index].ToString()); } stringBuilder.Append("]"); } if (enhp != null) { stringBuilder.Append(','); stringBuilder.Append("\"enhp\":["); for (int index = 0; index < enhp.Length; ++index) { if (index > 0) { stringBuilder.Append(','); } stringBuilder.Append(enhp[index].ToString()); } stringBuilder.Append("]"); } if ((int)stringBuilder[stringBuilder.Length - 1] == 44) { --stringBuilder.Length; } stringBuilder.Append("},"); stringBuilder.Append("\"uid\":\""); stringBuilder.Append(uid); stringBuilder.Append("\","); stringBuilder.Append("\"fuid\":\""); stringBuilder.Append(fuid); stringBuilder.Append("\""); if (!string.IsNullOrEmpty(trophyprog)) { stringBuilder.Append(","); stringBuilder.Append(trophyprog); } if (!string.IsNullOrEmpty(bingoprog)) { stringBuilder.Append(","); stringBuilder.Append(bingoprog); } this.body = WebAPI.GetRequestString(stringBuilder.ToString()); this.callback = response; }
private static string makeBody(string fuid, long btlid, int[] achieved, int time, BtlResultTypes result, int[] beats, int[] itemSteals, int[] goldSteals, int[] missions, Dictionary <OString, OInt> usedItems) { StringBuilder stringBuilder = WebAPI.GetStringBuilder(); stringBuilder.Length = 0; stringBuilder.Append("\"btlid\":"); stringBuilder.Append(btlid); stringBuilder.Append(','); if (achieved != null) { stringBuilder.Append("\"achieved\":["); for (int index = 0; index < achieved.Length; ++index) { if (index > 0) { stringBuilder.Append(','); } stringBuilder.Append(achieved[index].ToString()); } stringBuilder.Append("],"); } stringBuilder.Append("\"btlendparam\":{"); stringBuilder.Append("\"time\":"); stringBuilder.Append(time); stringBuilder.Append(','); stringBuilder.Append("\"result\":\""); switch (result) { case BtlResultTypes.Win: stringBuilder.Append("win"); break; case BtlResultTypes.Lose: stringBuilder.Append("lose"); break; case BtlResultTypes.Retire: stringBuilder.Append("retire"); break; case BtlResultTypes.Cancel: stringBuilder.Append("cancel"); break; } if (result == BtlResultTypes.Win) { if (beats == null) { beats = new int[0]; } if (itemSteals == null) { itemSteals = new int[0]; } if (goldSteals == null) { goldSteals = new int[0]; } if (missions == null) { missions = new int[3]; } } stringBuilder.Append("\","); if (beats != null) { stringBuilder.Append("\"beats\":["); for (int index = 0; index < beats.Length; ++index) { if (index > 0) { stringBuilder.Append(','); } stringBuilder.Append(beats[index].ToString()); } stringBuilder.Append("],"); } if (itemSteals != null || goldSteals != null) { stringBuilder.Append("\"steals\":{"); if (itemSteals != null) { stringBuilder.Append("\"items\":["); for (int index = 0; index < itemSteals.Length; ++index) { stringBuilder.Append(itemSteals[index].ToString()); if (index != beats.Length - 1) { stringBuilder.Append(','); } } stringBuilder.Append("]"); } if (goldSteals != null) { if (itemSteals != null) { stringBuilder.Append(','); } stringBuilder.Append("\"golds\":["); for (int index = 0; index < goldSteals.Length; ++index) { stringBuilder.Append(goldSteals[index].ToString()); if (index != beats.Length - 1) { stringBuilder.Append(","); } } stringBuilder.Append("]"); } stringBuilder.Append("},"); } if (missions != null) { stringBuilder.Append("\"missions\":["); for (int index = 0; index < missions.Length; ++index) { if (index > 0) { stringBuilder.Append(','); } stringBuilder.Append(missions[index].ToString()); } stringBuilder.Append("],"); } if (usedItems != null) { stringBuilder.Append("\"inputs\":["); int num = 0; using (Dictionary <OString, OInt> .Enumerator enumerator = usedItems.GetEnumerator()) { while (enumerator.MoveNext()) { KeyValuePair <OString, OInt> current = enumerator.Current; if (num > 0) { stringBuilder.Append(','); } stringBuilder.Append("{"); stringBuilder.Append("\"use\":\""); stringBuilder.Append((string)current.Key); stringBuilder.Append("\","); stringBuilder.Append("\"n\":"); stringBuilder.Append((int)current.Value); stringBuilder.Append("}"); ++num; } } stringBuilder.Append("],"); } if (stringBuilder[stringBuilder.Length - 1] == ',') { --stringBuilder.Length; } stringBuilder.Append('}'); return(stringBuilder.ToString()); }
public ReqBtlComRecordUpload(string fuid, long btlid, int[] achieved, int time, BtlResultTypes result, int[] beats, int[] itemSteals, int[] goldSteals, int[] missions, Dictionary <OString, OInt> usedItems, Network.ResponseCallback response) { this.name = "btl/com/record/upload"; this.body = ReqBtlComRecordUpload.CreateRequestString(ReqBtlComRecordUpload.makeBody(fuid, btlid, achieved, time, result, beats, itemSteals, goldSteals, missions, usedItems)); this.callback = response; }
public ReqBtlMultiTwEnd(long btlid, int time, BtlResultTypes result, int[] myhp, string[] myUnit, string[] fuid, Network.ResponseCallback response, string trophyprog = null, string bingoprog = null) { this.name = "btl/multi/tower/end"; StringBuilder stringBuilder = WebAPI.GetStringBuilder(); stringBuilder.Length = 0; stringBuilder.Append("\"btlid\":"); stringBuilder.Append(btlid); stringBuilder.Append(','); stringBuilder.Append("\"btlendparam\":{"); stringBuilder.Append("\"time\":"); stringBuilder.Append(time); stringBuilder.Append(','); stringBuilder.Append("\"result\":\""); switch (result) { case BtlResultTypes.Win: stringBuilder.Append("win"); break; case BtlResultTypes.Lose: stringBuilder.Append("lose"); break; case BtlResultTypes.Retire: stringBuilder.Append("retire"); break; case BtlResultTypes.Cancel: stringBuilder.Append("cancel"); break; case BtlResultTypes.Draw: stringBuilder.Append("draw"); break; } stringBuilder.Append("\","); stringBuilder.Append("\"token\":\""); stringBuilder.Append(JsonEscape.Escape(GlobalVars.SelectedMultiPlayRoomName)); stringBuilder.Append("\""); if (myhp != null) { stringBuilder.Append(','); stringBuilder.Append("\"myhp\":["); for (int index = 0; index < myhp.Length; ++index) { if (index > 0) { stringBuilder.Append(','); } stringBuilder.Append(myhp[index].ToString()); } stringBuilder.Append("]"); } if (myUnit != null) { stringBuilder.Append(','); stringBuilder.Append("\"myUnit\":["); for (int index = 0; index < myhp.Length; ++index) { if (index > 0) { stringBuilder.Append(','); } stringBuilder.Append("\"" + myUnit[index] + "\""); } stringBuilder.Append("]"); } stringBuilder.Append("}"); if (fuid != null) { stringBuilder.Append(",\"fuids\":["); for (int index = 0; index < fuid.Length; ++index) { if (fuid[index] != null) { if (index != 0) { stringBuilder.Append(", "); } stringBuilder.Append("\""); stringBuilder.Append(fuid[index]); stringBuilder.Append("\""); } } stringBuilder.Append("]"); } if (!string.IsNullOrEmpty(trophyprog)) { stringBuilder.Append(","); stringBuilder.Append(trophyprog); } if (!string.IsNullOrEmpty(bingoprog)) { stringBuilder.Append(","); stringBuilder.Append(bingoprog); } this.body = WebAPI.GetRequestString(stringBuilder.ToString()); this.callback = response; }
public ReqTowerBtlComEnd(long btlid, Unit[] Player, Unit[] Enemy, int actCount, int round, byte floor, BtlResultTypes result, RandDeckResult[] deck, Network.ResponseCallback response, string trophyprog = null, string bingoprog = null, int[] missions = null, int[] missions_value = null) { StringBuilder stringBuilder = WebAPI.GetStringBuilder(); this.name = "tower/btl/end"; stringBuilder.Length = 0; this.SetValue(ref stringBuilder, "\"btlid\":", btlid); stringBuilder.Append("\"btlendparam\":{"); if (Player != null) { stringBuilder.Append("\"pdeck\":["); for (int index = 0; index < Player.Length; ++index) { Unit unit = Player[index]; if (unit.Side == EUnitSide.Player && unit.UnitData.UniqueID != 0L) { stringBuilder.Append("{"); this.SetValue(ref stringBuilder, "\"iid\":", unit.UnitData.UniqueID); this.SetValue(ref stringBuilder, "\"iname\":\"", unit.UnitData.UnitParam.iname, "\","); int num = Mathf.Max(unit.CalcTowerDamege() - MonoSingleton <GameManager> .Instance.FindTowerFloor(SceneBattle.Instance.Battle.QuestID).CalcHelaNum((int)unit.MaximumStatus.param.hp), 0); this.SetValue(ref stringBuilder, "\"damage\":", (long)num); this.SetValue(ref stringBuilder, "\"is_died\":", !unit.IsDeadCondition() ? 0L : (!unit.IsUnitFlag(EUnitFlag.UnitChanged) ? 1L : 0L), string.Empty); stringBuilder.Append("},"); } } --stringBuilder.Length; stringBuilder.Append("],"); } stringBuilder.Append("\"status\":\""); switch (result) { case BtlResultTypes.Win: stringBuilder.Append("win"); break; case BtlResultTypes.Lose: stringBuilder.Append("lose"); break; case BtlResultTypes.Retire: stringBuilder.Append("retire"); break; case BtlResultTypes.Cancel: stringBuilder.Append("cancel"); break; } stringBuilder.Append("\""); stringBuilder.Append(",\"turn\":"); stringBuilder.Append(actCount); stringBuilder.Append(",\"round\":"); stringBuilder.Append(round); stringBuilder.Append(",\"floor\":"); stringBuilder.Append(floor); if (result == BtlResultTypes.Lose) { stringBuilder.Append(",\"edeck\":["); List <Unit> unitList = new List <Unit>((IEnumerable <Unit>)Enemy); unitList.RemoveAll((Predicate <Unit>)(x => { if (x.IsBreakObj) { return(!string.IsNullOrEmpty(x.CreateBreakObjId)); } return(false); })); if (MonoSingleton <GameManager> .Instance.TowerResuponse.edeck != null) { List <TowerResuponse.EnemyUnit> edeck = MonoSingleton <GameManager> .Instance.TowerResuponse.edeck; int index1 = 0; for (int index2 = 0; index2 < edeck.Count; ++index2) { if (edeck[index2].hp == 0) { stringBuilder.Append("{"); this.SetValue(ref stringBuilder, "\"eid\":\"", (long)index2, "\","); this.SetValue(ref stringBuilder, "\"iname\":\"", edeck[index2].iname, "\","); this.SetValue(ref stringBuilder, "\"hp\":", 0L); this.SetValue(ref stringBuilder, "\"jewel\":", 0L, string.Empty); stringBuilder.Append("},"); } else { Unit unit = unitList[index1]; ++index1; stringBuilder.Append("{"); this.SetValue(ref stringBuilder, "\"eid\":\"", (long)index2, "\","); this.SetValue(ref stringBuilder, "\"iname\":\"", unit.UnitParam.iname, "\","); if (unit.IsGimmick && !unit.IsDisableGimmick()) { if (unit.IsBreakObj) { this.SetValue(ref stringBuilder, "\"hp\":", (long)(int)unit.CurrentStatus.param.hp); } else { this.SetValue(ref stringBuilder, "\"hp\":", 1L); } } else { this.SetValue(ref stringBuilder, "\"hp\":", !unit.IsDead ? (long)(int)unit.CurrentStatus.param.hp : 0L); } this.SetValue(ref stringBuilder, "\"jewel\":", (long)(int)unit.CurrentStatus.param.mp, string.Empty); stringBuilder.Append("},"); } } } else { for (int index = 0; index < unitList.Count; ++index) { Unit unit = unitList[index]; stringBuilder.Append("{"); this.SetValue(ref stringBuilder, "\"eid\":\"", (long)index, "\","); this.SetValue(ref stringBuilder, "\"iname\":\"", unit.UnitParam.iname, "\","); if (unit.IsGimmick && !unit.IsDisableGimmick()) { if (unit.IsBreakObj) { this.SetValue(ref stringBuilder, "\"hp\":", (long)(int)unit.CurrentStatus.param.hp); } else { this.SetValue(ref stringBuilder, "\"hp\":", 1L); } } else { this.SetValue(ref stringBuilder, "\"hp\":", !unit.IsDead ? (long)(int)unit.CurrentStatus.param.hp : 0L); } this.SetValue(ref stringBuilder, "\"jewel\":", (long)(int)unit.CurrentStatus.param.mp, string.Empty); stringBuilder.Append("},"); } } --stringBuilder.Length; stringBuilder.Append("]"); } SupportData supportData = GlobalVars.SelectedSupport.Get(); if (GlobalVars.SelectedFriendID != null && supportData != null) { stringBuilder.Append(",\"help\":{\"fuid\":\""); stringBuilder.Append(GlobalVars.SelectedFriendID); stringBuilder.Append("\",\"cost\":"); stringBuilder.Append(supportData.Cost); stringBuilder.Append("}"); } if (missions != null && missions_value != null) { stringBuilder.Append(","); stringBuilder.Append("\"missions\":["); for (int index = 0; index < missions.Length; ++index) { if (index > 0) { stringBuilder.Append(','); } stringBuilder.Append(missions[index].ToString()); } stringBuilder.Append("]"); stringBuilder.Append(","); stringBuilder.Append("\"missions_val\":["); for (int index = 0; index < missions_value.Length; ++index) { if (index > 0) { stringBuilder.Append(','); } stringBuilder.Append(missions_value[index].ToString()); } stringBuilder.Append("]"); } else { stringBuilder.Append(","); stringBuilder.Append("\"missions\":[]"); stringBuilder.Append(","); stringBuilder.Append("\"missions_val\":[]"); } stringBuilder.Append("}"); if (!string.IsNullOrEmpty(trophyprog)) { stringBuilder.Append(","); stringBuilder.Append(trophyprog); } if (!string.IsNullOrEmpty(bingoprog)) { stringBuilder.Append(","); stringBuilder.Append(bingoprog); } this.body = WebAPI.GetRequestString(stringBuilder.ToString()); this.callback = response; }
public ReqVersusEnd(long btlid, int time, BtlResultTypes result, int[] beats, string uid, string fuid, Network.ResponseCallback response, VERSUS_TYPE type, string trophyprog = null, string bingoprog = null, string maxdata = null) { StringBuilder stringBuilder = WebAPI.GetStringBuilder(); stringBuilder.Append("vs/"); stringBuilder.Append(type.ToString().ToLower()); stringBuilder.Append("match/end"); this.name = stringBuilder.ToString(); stringBuilder.Length = 0; stringBuilder.Append("\"btlid\":"); stringBuilder.Append(btlid); stringBuilder.Append(','); stringBuilder.Append("\"btlendparam\":{"); stringBuilder.Append("\"time\":"); stringBuilder.Append(time); stringBuilder.Append(','); stringBuilder.Append("\"result\":\""); switch (result) { case BtlResultTypes.Win: stringBuilder.Append("win"); break; case BtlResultTypes.Lose: stringBuilder.Append("lose"); break; case BtlResultTypes.Retire: stringBuilder.Append("retire"); break; case BtlResultTypes.Cancel: stringBuilder.Append("cancel"); break; case BtlResultTypes.Draw: stringBuilder.Append("draw"); break; } if (result == BtlResultTypes.Win && beats == null) { beats = new int[0]; } stringBuilder.Append("\","); if (beats != null) { stringBuilder.Append("\"beats\":["); for (int index = 0; index < beats.Length; ++index) { if (index > 0) { stringBuilder.Append(','); } stringBuilder.Append(beats[index].ToString()); } stringBuilder.Append("],"); } stringBuilder.Append("\"steals\":["); stringBuilder.Append("],"); stringBuilder.Append("\"missions\":["); stringBuilder.Append("],"); stringBuilder.Append("\"token\":\""); stringBuilder.Append(JsonEscape.Escape(GlobalVars.SelectedMultiPlayRoomName)); stringBuilder.Append("\","); if ((int)stringBuilder[stringBuilder.Length - 1] == 44) { --stringBuilder.Length; } stringBuilder.Append("},"); stringBuilder.Append("\"uid\":\""); stringBuilder.Append(uid); stringBuilder.Append("\","); stringBuilder.Append("\"fuid\":\""); stringBuilder.Append(fuid); stringBuilder.Append("\""); if (!string.IsNullOrEmpty(trophyprog)) { stringBuilder.Append(","); stringBuilder.Append(trophyprog); } if (!string.IsNullOrEmpty(bingoprog)) { stringBuilder.Append(","); stringBuilder.Append(bingoprog); } if (!string.IsNullOrEmpty(maxdata)) { stringBuilder.Append(","); stringBuilder.Append(maxdata); } this.body = WebAPI.GetRequestString(stringBuilder.ToString()); this.callback = response; }
private string makeBody(bool is_arena, long btlid, int time, BtlResultTypes result, int[] beats, int[] itemSteals, int[] goldSteals, int[] missions, string[] fuid, Dictionary <OString, OInt> usedItems, Network.ResponseCallback response, BtlEndTypes apiType, string trophyprog, string bingoprog, int elem = 0, string rankingQuestEndParam = null) { StringBuilder stringBuilder = WebAPI.GetStringBuilder(); stringBuilder.Length = 0; if (!is_arena) { stringBuilder.Append("\"btlid\":"); stringBuilder.Append(btlid); stringBuilder.Append(','); } stringBuilder.Append("\"btlendparam\":{"); stringBuilder.Append("\"time\":"); stringBuilder.Append(time); stringBuilder.Append(','); stringBuilder.Append("\"result\":\""); switch (result) { case BtlResultTypes.Win: stringBuilder.Append("win"); break; case BtlResultTypes.Lose: stringBuilder.Append("lose"); break; case BtlResultTypes.Retire: stringBuilder.Append("retire"); break; case BtlResultTypes.Cancel: stringBuilder.Append("cancel"); break; } if (result == BtlResultTypes.Win) { if (beats == null) { beats = new int[0]; } if (itemSteals == null) { itemSteals = new int[0]; } if (goldSteals == null) { goldSteals = new int[0]; } if (missions == null) { missions = new int[3]; } } if (result != BtlResultTypes.Cancel && usedItems == null) { usedItems = new Dictionary <OString, OInt>(); } stringBuilder.Append("\","); if (beats != null) { stringBuilder.Append("\"beats\":["); for (int index = 0; index < beats.Length; ++index) { if (index > 0) { stringBuilder.Append(','); } stringBuilder.Append(beats[index].ToString()); } stringBuilder.Append("],"); } if (itemSteals != null || goldSteals != null) { stringBuilder.Append("\"steals\":{"); if (itemSteals != null) { stringBuilder.Append("\"items\":["); for (int index = 0; index < itemSteals.Length; ++index) { stringBuilder.Append(itemSteals[index].ToString()); if (index != beats.Length - 1) { stringBuilder.Append(','); } } stringBuilder.Append("]"); } if (goldSteals != null) { if (itemSteals != null) { stringBuilder.Append(','); } stringBuilder.Append("\"golds\":["); for (int index = 0; index < goldSteals.Length; ++index) { stringBuilder.Append(goldSteals[index].ToString()); if (index != beats.Length - 1) { stringBuilder.Append(","); } } stringBuilder.Append("]"); } stringBuilder.Append("},"); } if (missions != null) { stringBuilder.Append("\"missions\":["); for (int index = 0; index < missions.Length; ++index) { if (index > 0) { stringBuilder.Append(','); } stringBuilder.Append(missions[index].ToString()); } stringBuilder.Append("],"); } if (usedItems != null) { stringBuilder.Append("\"inputs\":["); int num = 0; using (Dictionary <OString, OInt> .Enumerator enumerator = usedItems.GetEnumerator()) { while (enumerator.MoveNext()) { KeyValuePair <OString, OInt> current = enumerator.Current; if (num > 0) { stringBuilder.Append(','); } stringBuilder.Append("{"); stringBuilder.Append("\"use\":\""); stringBuilder.Append((string)current.Key); stringBuilder.Append("\","); stringBuilder.Append("\"n\":"); stringBuilder.Append((int)current.Value); stringBuilder.Append("}"); ++num; } } stringBuilder.Append("],"); } if (apiType == BtlEndTypes.multi) { stringBuilder.Append("\"token\":\""); stringBuilder.Append(JsonEscape.Escape(GlobalVars.SelectedMultiPlayRoomName)); stringBuilder.Append("\","); } if (!string.IsNullOrEmpty(rankingQuestEndParam)) { stringBuilder.Append(rankingQuestEndParam); stringBuilder.Append(","); } if ((int)stringBuilder[stringBuilder.Length - 1] == 44) { --stringBuilder.Length; } stringBuilder.Append('}'); if (apiType == BtlEndTypes.multi && fuid != null) { stringBuilder.Append(",\"fuids\":["); for (int index = 0; index < fuid.Length; ++index) { if (fuid[index] != null) { if (index != 0) { stringBuilder.Append(", "); } stringBuilder.Append("\""); stringBuilder.Append(fuid[index]); stringBuilder.Append("\""); } } stringBuilder.Append("]"); } if (!string.IsNullOrEmpty(trophyprog)) { stringBuilder.Append(","); stringBuilder.Append(trophyprog); } if (!string.IsNullOrEmpty(bingoprog)) { stringBuilder.Append(","); stringBuilder.Append(bingoprog); } if (elem != 0) { stringBuilder.Append(","); stringBuilder.Append("\"support_elem\":\""); stringBuilder.Append(elem); stringBuilder.Append("\""); } return(stringBuilder.ToString()); }
public ReqBtlComEnd(long btlid, int time, BtlResultTypes result, int[] beats, int[] itemSteals, int[] goldSteals, int[] missions, string[] fuid, Dictionary <OString, OInt> usedItems, BtlEndTypes apiType, string trophyprog = null, string bingoprog = null, string maxdata = null) { StringBuilder stringBuilder = WebAPI.GetStringBuilder(); stringBuilder.Append("btl/"); stringBuilder.Append(apiType.ToString()); stringBuilder.Append("/end"); this.name = stringBuilder.ToString(); stringBuilder.Length = 0; stringBuilder.Append("\"btlid\":"); stringBuilder.Append(btlid); stringBuilder.Append(','); stringBuilder.Append("\"btlendparam\":{"); stringBuilder.Append("\"time\":"); stringBuilder.Append(time); stringBuilder.Append(','); stringBuilder.Append("\"result\":\""); switch (result) { case BtlResultTypes.Win: stringBuilder.Append("win"); break; case BtlResultTypes.Lose: stringBuilder.Append("lose"); break; case BtlResultTypes.Retire: stringBuilder.Append("retire"); break; case BtlResultTypes.Cancel: stringBuilder.Append("cancel"); break; } if (result == BtlResultTypes.Win) { if (beats == null) { beats = new int[0]; } if (itemSteals == null) { itemSteals = new int[0]; } if (goldSteals == null) { goldSteals = new int[0]; } if (missions == null) { missions = new int[3]; } } if (result != BtlResultTypes.Cancel && usedItems == null) { usedItems = new Dictionary <OString, OInt>(); } stringBuilder.Append("\","); if (beats != null) { stringBuilder.Append("\"beats\":["); for (int i = 0; i < beats.Length; i++) { if (i > 0) { stringBuilder.Append(','); } stringBuilder.Append(beats[i].ToString()); } stringBuilder.Append("],"); } if (itemSteals != null || goldSteals != null) { stringBuilder.Append("\"steals\":{"); if (itemSteals != null) { stringBuilder.Append("\"items\":["); for (int j = 0; j < itemSteals.Length; j++) { stringBuilder.Append(itemSteals[j].ToString()); if (j != beats.Length - 1) { stringBuilder.Append(','); } } stringBuilder.Append("]"); } if (goldSteals != null) { if (itemSteals != null) { stringBuilder.Append(','); } stringBuilder.Append("\"golds\":["); for (int k = 0; k < goldSteals.Length; k++) { stringBuilder.Append(goldSteals[k].ToString()); if (k != beats.Length - 1) { stringBuilder.Append(","); } } stringBuilder.Append("]"); } stringBuilder.Append("},"); } if (missions != null) { stringBuilder.Append("\"missions\":["); for (int l = 0; l < missions.Length; l++) { if (l > 0) { stringBuilder.Append(','); } stringBuilder.Append(missions[l].ToString()); } stringBuilder.Append("],"); } if (usedItems != null) { stringBuilder.Append("\"inputs\":["); int num = 0; foreach (KeyValuePair <OString, OInt> current in usedItems) { if (num > 0) { stringBuilder.Append(','); } stringBuilder.Append("{"); stringBuilder.Append("\"use\":\""); stringBuilder.Append(current.Key); stringBuilder.Append("\","); stringBuilder.Append("\"n\":"); stringBuilder.Append(current.Value); stringBuilder.Append("}"); num++; } stringBuilder.Append("],"); } if (apiType == BtlEndTypes.multi) { stringBuilder.Append("\"token\":\""); stringBuilder.Append(JsonEscape.Escape(GlobalVars.SelectedMultiPlayRoomName)); stringBuilder.Append("\","); } if (stringBuilder[stringBuilder.Length - 1] == ',') { stringBuilder.Length--; } stringBuilder.Append('}'); if (apiType == BtlEndTypes.multi && fuid != null) { stringBuilder.Append(",\"fuids\":["); for (int m = 0; m < fuid.Length; m++) { if (fuid[m] != null) { if (m != 0) { stringBuilder.Append(", "); } stringBuilder.Append("\""); stringBuilder.Append(fuid[m]); stringBuilder.Append("\""); } } stringBuilder.Append("]"); } if (!string.IsNullOrEmpty(trophyprog)) { stringBuilder.Append(","); stringBuilder.Append(trophyprog); } if (!string.IsNullOrEmpty(bingoprog)) { stringBuilder.Append(","); stringBuilder.Append(bingoprog); } if (!string.IsNullOrEmpty(maxdata)) { stringBuilder.Append(","); stringBuilder.Append(maxdata); } this.body = WebAPI.GetRequestString(stringBuilder.ToString()); }
public ReqVersusCpuEnd(long btlid, BtlResultTypes result, uint turn, int[] myhp, int[] enhp, int atk, int dmg, int heal, int beat, int[] place, Network.ResponseCallback response, string trophyprog = null, string bingoprog = null) { StringBuilder stringBuilder = WebAPI.GetStringBuilder(); this.name = "vs/com/end"; stringBuilder.Length = 0; stringBuilder.Append("\"btlid\":"); stringBuilder.Append(btlid); stringBuilder.Append(','); stringBuilder.Append("\"btlendparam\":{"); stringBuilder.Append("\"result\":\""); switch (result) { case BtlResultTypes.Win: stringBuilder.Append("win"); break; case BtlResultTypes.Lose: stringBuilder.Append("lose"); break; case BtlResultTypes.Retire: stringBuilder.Append("retire"); break; case BtlResultTypes.Cancel: stringBuilder.Append("cancel"); break; case BtlResultTypes.Draw: stringBuilder.Append("draw"); break; } stringBuilder.Append("\","); stringBuilder.Append("\"turn\":\""); stringBuilder.Append(turn); stringBuilder.Append("\""); stringBuilder.Append(","); stringBuilder.Append("\"atk\":\""); stringBuilder.Append(atk); stringBuilder.Append("\""); stringBuilder.Append(","); stringBuilder.Append("\"dmg\":\""); stringBuilder.Append(dmg); stringBuilder.Append("\""); stringBuilder.Append(","); stringBuilder.Append("\"heal\":\""); stringBuilder.Append(heal); stringBuilder.Append("\""); stringBuilder.Append(","); stringBuilder.Append("\"beatcnt\":"); stringBuilder.Append(beat); if (myhp != null) { stringBuilder.Append(','); stringBuilder.Append("\"myhp\":["); for (int index = 0; index < myhp.Length; ++index) { if (index > 0) { stringBuilder.Append(','); } stringBuilder.Append(myhp[index].ToString()); } stringBuilder.Append("]"); } if (enhp != null) { stringBuilder.Append(','); stringBuilder.Append("\"enhp\":["); for (int index = 0; index < enhp.Length; ++index) { if (index > 0) { stringBuilder.Append(','); } stringBuilder.Append(enhp[index].ToString()); } stringBuilder.Append("]"); } if (place != null) { stringBuilder.Append(','); stringBuilder.Append("\"place\":["); for (int index = 0; index < place.Length; ++index) { if (index > 0) { stringBuilder.Append(','); } stringBuilder.Append(place[index].ToString()); } stringBuilder.Append("]"); } if (stringBuilder[stringBuilder.Length - 1] == ',') { --stringBuilder.Length; } stringBuilder.Append("}"); if (!string.IsNullOrEmpty(trophyprog)) { stringBuilder.Append(","); stringBuilder.Append(trophyprog); } if (!string.IsNullOrEmpty(bingoprog)) { stringBuilder.Append(","); stringBuilder.Append(bingoprog); } this.body = WebAPI.GetRequestString(stringBuilder.ToString()); this.callback = response; }
public ReqTowerBtlComEnd(long btlid, Unit[] Player, Unit[] Enemy, int actCount, int round, byte floor, BtlResultTypes result, RandDeckResult[] deck, string trophyprog = null, string bingoprog = null, string maxdata = null) { StringBuilder stringBuilder = WebAPI.GetStringBuilder(); this.name = "tower/btl/end"; stringBuilder.Length = 0; this.SetValue(ref stringBuilder, "\"btlid\":", btlid); stringBuilder.Append("\"btlendparam\":{"); if (Player != null) { stringBuilder.Append("\"pdeck\":["); for (int i = 0; i < Player.Length; i++) { Unit unit = Player[i]; if (unit.Side == EUnitSide.Player && unit.UnitData.UniqueID != 0L) { stringBuilder.Append("{"); this.SetValue(ref stringBuilder, "\"iid\":", unit.UnitData.UniqueID); this.SetValue(ref stringBuilder, "\"iname\":\"", unit.UnitData.UnitParam.iname, "\","); int num = unit.CalcTowerDamege(); TowerFloorParam towerFloorParam = GameManager.Instance.FindTowerFloor(SceneBattle.Instance.Battle.QuestID); num -= towerFloorParam.CalcHelaNum(unit.MaximumStatus.param.hp); num = Math.Max(num, 0); this.SetValue(ref stringBuilder, "\"damage\":", (long)num); this.SetValue(ref stringBuilder, "\"is_died\":", (!unit.IsDeadCondition()) ? 0L : 1L, string.Empty); stringBuilder.Append("},"); } } stringBuilder.Length--; stringBuilder.Append("],"); } stringBuilder.Append("\"status\":\""); switch (result) { case BtlResultTypes.Win: stringBuilder.Append("win"); break; case BtlResultTypes.Lose: stringBuilder.Append("lose"); break; case BtlResultTypes.Retire: stringBuilder.Append("retire"); break; case BtlResultTypes.Cancel: stringBuilder.Append("cancel"); break; } stringBuilder.Append("\""); stringBuilder.Append(",\"turn\":"); stringBuilder.Append(actCount); stringBuilder.Append(",\"round\":"); stringBuilder.Append(round); stringBuilder.Append(",\"floor\":"); stringBuilder.Append(floor); if (result == BtlResultTypes.Lose) { stringBuilder.Append(",\"edeck\":["); List <Unit> list = new List <Unit>(Enemy); list.RemoveAll((Unit x) => x.Side != EUnitSide.Enemy); if (GameManager.Instance.TowerResuponse.edeck != null) { List <TowerResuponse.EnemyUnit> edeck = GameManager.Instance.TowerResuponse.edeck; int num2 = 0; for (int j = 0; j < edeck.Count; j++) { if (edeck[j].hp == 0) { stringBuilder.Append("{"); this.SetValue(ref stringBuilder, "\"eid\":\"", (long)j, "\","); this.SetValue(ref stringBuilder, "\"iname\":\"", edeck[j].iname, "\","); this.SetValue(ref stringBuilder, "\"hp\":", 0L); this.SetValue(ref stringBuilder, "\"jewel\":", 0L, string.Empty); stringBuilder.Append("},"); } else { Unit unit2 = list[num2]; num2++; if (unit2.Side == EUnitSide.Enemy) { stringBuilder.Append("{"); this.SetValue(ref stringBuilder, "\"eid\":\"", (long)j, "\","); this.SetValue(ref stringBuilder, "\"iname\":\"", unit2.UnitParam.iname, "\","); this.SetValue(ref stringBuilder, "\"hp\":", (!unit2.IsDead) ? ((long)unit2.CurrentStatus.param.hp) : 0L); this.SetValue(ref stringBuilder, "\"jewel\":", (long)unit2.CurrentStatus.param.mp, string.Empty); stringBuilder.Append("},"); } } } } else { for (int k = 0; k < list.Count; k++) { Unit unit3 = list[k]; if (unit3.Side == EUnitSide.Enemy) { stringBuilder.Append("{"); this.SetValue(ref stringBuilder, "\"eid\":\"", (long)k, "\","); this.SetValue(ref stringBuilder, "\"iname\":\"", unit3.UnitParam.iname, "\","); this.SetValue(ref stringBuilder, "\"hp\":", (!unit3.IsDead) ? ((long)unit3.CurrentStatus.param.hp) : 0L); this.SetValue(ref stringBuilder, "\"jewel\":", (long)unit3.CurrentStatus.param.mp, string.Empty); stringBuilder.Append("},"); } } } stringBuilder.Length--; stringBuilder.Append("]"); } SupportData supportData = GlobalVars.SelectedSupport.Get(); if (GlobalVars.SelectedFriendID != null && supportData != null) { stringBuilder.Append(",\"help\":{\"fuid\":\""); stringBuilder.Append(GlobalVars.SelectedFriendID); stringBuilder.Append("\",\"cost\":"); stringBuilder.Append(supportData.Cost); stringBuilder.Append("}"); } if (!string.IsNullOrEmpty(trophyprog)) { stringBuilder.Append(","); stringBuilder.Append(trophyprog); } if (!string.IsNullOrEmpty(bingoprog)) { stringBuilder.Append(","); stringBuilder.Append(bingoprog); } if (!string.IsNullOrEmpty(maxdata)) { stringBuilder.Append(","); stringBuilder.Append(maxdata); } stringBuilder.Append("}"); this.body = WebAPI.GetRequestString(stringBuilder.ToString()); }