public void SwapMonsterPos(BaseHttpRequest request, BaseResponse response) { RED.Log("swap monster success"); if (response != null && response.status != BaseResponse.ERROR) { HttpRequest req = request as HttpRequest; SwapMonsterPosParam param = req.ParamMem as SwapMonsterPosParam; int srcPos = RTData.curTeam.GetMonsterPos(param.sroleid); int tgtPos = RTData.curTeam.GetMonsterPos(param.troleid); Equipment srcAtk = RTData.curTeam.getEquip(srcPos, 0); Equipment srcDef = RTData.curTeam.getEquip(srcPos, 1); Equipment tgtAtk = RTData.curTeam.getEquip(tgtPos, 0); Equipment tgtDef = RTData.curTeam.getEquip(tgtPos, 1); RTData.curTeam.removeEquip(srcAtk, srcPos); RTData.curTeam.removeEquip(srcDef, srcPos); RTData.curTeam.removeEquip(tgtAtk, tgtPos); RTData.curTeam.removeEquip(tgtDef, tgtPos); RTData.curTeam.setEquip(tgtAtk, srcPos); RTData.curTeam.setEquip(tgtDef, srcPos); RTData.curTeam.setEquip(srcAtk, tgtPos); RTData.curTeam.setEquip(srcDef, tgtPos); } }
void SendChangePosMsg(int monsterId, int targetMonsterId) { HttpTask task = new HttpTask(ThreadType.MainThread, TaskResponse.Default_Response); SwapMonsterPosParam param = new SwapMonsterPosParam(); param.gid = Core.Data.playerManager.PlayerID; param.sroleid = monsterId; param.troleid = targetMonsterId; task.AppendCommonParam(RequestType.SWAP_MONSTER_POS, param); task.ErrorOccured += testHttpResp_Error; task.afterCompleted += testHttpResp_UI; //then you should dispatch to a real handler task.DispatchToRealHandler(); }