void testHttpResp_UI(BaseHttpRequest req, BaseResponse response) { ComLoading.Close(); /*只能主线程访问 * */ Core.Data.EquipManager.InlayGemToEquipment(req, response); if (response.status != BaseResponse.ERROR) { HttpRequest htReq = req as HttpRequest; Send_GemInLaySystem sendparam = htReq.ParamMem as Send_GemInLaySystem; if (sendparam.beUp == 0) { /*摘除宝石成功 * */ int SelectedSoltIndex = System.Convert.ToInt32(LastSelectedHoleButtonName.Substring(LastSelectedHoleButtonName.Length - 1)); view.SetHoleGem(SelectedSoltIndex, null); //view.ShowEquipEffect(SelectedEqudata,Core.Data.EquipManager.isHaveEffect(SelectedEqudata)); view.ShowEquipmentInfo(SelectedEqudata); } else if (sendparam.beUp == 1) { /*镶嵌宝石成功 * */ int SelectedSoltIndex = System.Convert.ToInt32(LastSelectedHoleButtonName.Substring(LastSelectedHoleButtonName.Length - 1)); view.SetHoleGem(SelectedSoltIndex, SelectedGemdata.configData.anime2D); //view.ShowEquipEffect(SelectedEqudata,Core.Data.EquipManager.isHaveEffect(SelectedEqudata)); view.ShowEquipmentInfo(SelectedEqudata); } } }
/* * 向服务器发送镶嵌信息 * */ void SendInlayMsg() { Send_GemInLaySystem param = new Send_GemInLaySystem(); param.gid = Core.Data.playerManager.PlayerID; param.eid = SelectedEqudata.ID; int soltindex = view.GetHoleId(LastSelectedHoleButtonName); param.slot = soltindex; param.gemId = SelectedGemdata.id; param.beUp = 1; HttpTask task = new HttpTask(ThreadType.MainThread, TaskResponse.Default_Response); task.AppendCommonParam(RequestType.GEM_INLAY_REMOVE, param); task.ErrorOccured += testHttpResp_Error; task.afterCompleted += testHttpResp_UI; task.DispatchToRealHandler(); ComLoading.Open(); }
/*镶嵌宝石到装备 * */ public void InlayGemToEquipment(BaseHttpRequest req, BaseResponse response) { if (response != null && response.status != BaseResponse.ERROR) { HttpRequest htReq = req as HttpRequest; Send_GemInLaySystem sendparam = htReq.ParamMem as Send_GemInLaySystem; Equipment equipment = getEquipment(sendparam.eid); EquipSlot[] slots = equipment.RtEquip.slot; /*镶嵌宝石 * */ if (sendparam.slot >= 0 && sendparam.slot < slots.Length) { //如果原来孔上里就有宝石,则摘除 if (slots[sendparam.slot].id > 0) { slots[sendparam.slot].mGem.equipped = false; slots[sendparam.slot].mGem = null; slots[sendparam.slot].id = 0; } if (sendparam.beUp == 1) { Gems gem = FrogingSystem.ForgingRoomUI.Instance.InlaySystem.SelectedGemdata; slots[sendparam.slot].mGem = gem; slots[sendparam.slot].id = gem.id; Core.Data.gemsManager.EuipOneGem(gem.id, true); } } else { RED.Log("InlayGemToEquipment FUC -> slots is out of range!!!"); } } }