// 请求加入战队回调 private void recvKinApplyCallBack(KinApplyInfo info, bool isAgree) { cmd_kin_admit cmdData = new cmd_kin_admit(); cmdData.bAgree = isAgree ? 1 : 0; cmdData.nApplyPDBID = info.nApplyID; ViewEventHelper.Instance.SendCommand <cmd_kin_admit>(GameLogicDef.GVIEWCMD_KIN_ADMIT, ref cmdData); }
public void OnProcessKinApplyMember(IntPtr ptr, int nLen, int nType) { // 更新成员数据 IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptr, nLen); switch ((ProcessKinApply)nType) { // 添加 case ProcessKinApply.PKM_APPLY_ADD: { GameLogic.cmd_kin_applylist_node cmdKinMember = helper.get <GameLogic.cmd_kin_applylist_node>(); m_ApplyListNode.Add(cmdKinMember); m_kinBaseData.nApplyCount++; // DIDA DIDAAddData msg = new DIDAAddData(); msg.nDIDATime = 60; msg.nItemID = (int)EDIDAType.EDIDA_Kin; msg.bAllowRepeatItem = true; msg.nButtonIconID = (int)EDIDAType.EDIDA_Kin; msg.strTooltip = ULocalizationService.Instance.Get("UIView", "KinMember", "KinApply"); KinApplyInfo applyInfo = new KinApplyInfo(); applyInfo.nApplyID = cmdKinMember.nPlayerPDBID; msg.sCustomData = applyInfo; msg.callBack = (CustomerInfo) => { KinApplyInfo customerInfo = CustomerInfo as KinApplyInfo; UIDialogData toolTipData = new UIDialogData( title: ULocalizationService.Instance.Get("UIView", "KinMember", "KinApply"), message: String.Format(ULocalizationService.Instance.Get("UIView", "KinMember", "KinApplyDesc"), cmdKinMember.szName), buttons: new UIWidgets.DialogActions() { { ULocalizationService.Instance.Get("UIView", "Common", "ConfirmBtn"), () => { recvKinApplyCallBack(customerInfo, true); return(true); } }, { ULocalizationService.Instance.Get("UIView", "Common", "CancelBtn"), () => { recvKinApplyCallBack(customerInfo, false); return(true); } } }); UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_COMMON_DIALOG, toolTipData); }; LogicDataCenter.didaDataManager.AddItem(msg); } break; // 删除 case ProcessKinApply.PKM_APPLY_REMOVE: { GameLogic.cmd_kin_remove_apply cmdRemoveMember = helper.get <GameLogic.cmd_kin_remove_apply>(); for (int i = 0; i < m_ApplyListNode.Count; ++i) { if (m_ApplyListNode[i].nPlayerPDBID == cmdRemoveMember.nPlayerPDBID) { m_ApplyListNode.RemoveAt(i); m_kinBaseData.nApplyCount--; break; } } } break; } UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_KIN_UPDATEAPPLY_TIPS, null); UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_KIN_UPDATE_APPLY_LIST, null); }