public void OnClanInviteReturn(IntPtr ptr, int nLen) { cmd_clan_invite_ret inviteData = IntPtrHelper.toData <cmd_clan_invite_ret>(ptr); DIDAAddData msg = new DIDAAddData(); msg.nDIDATime = 60; msg.nItemID = (int)EDIDAType.EDIDA_Clan; msg.bAllowRepeatItem = false; msg.nButtonIconID = (int)EDIDAType.EDIDA_Clan; msg.strTooltip = ULocalizationService.Instance.Get("UIView", "PopupMenu", "ClanInviteTooltip"); ClanInviteInfo inviteInfo = new ClanInviteInfo(); inviteInfo.nInviterID = inviteData.nInviterPDBID; msg.sCustomData = inviteInfo; msg.callBack = (CustomerInfo) => { ClanInviteInfo customerInfo = CustomerInfo as ClanInviteInfo; UIDialogData toolTipData = new UIDialogData( title: ULocalizationService.Instance.Get("UIView", "PopupMenu", "ClanInviteTitle"), message: String.Format(ULocalizationService.Instance.Get("UIView", "PopupMenu", "ClanInviteContent"), inviteData.szInviterName, inviteData.szClanName), buttons: new UIWidgets.DialogActions() { { ULocalizationService.Instance.Get("UIView", "Common", "ConfirmBtn"), () => { ClanInviteBtnCallBack(customerInfo, true); return(true); } }, { ULocalizationService.Instance.Get("UIView", "Common", "CancelBtn"), () => { ClanInviteBtnCallBack(customerInfo, false); return(true); } } }); UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_COMMON_DIALOG, toolTipData); }; LogicDataCenter.didaDataManager.AddItem(msg); }
private bool ClanInviteBtnCallBack(ClanInviteInfo customerInfo, bool isAgree) { cmd_kin_answer_Invite data = new cmd_kin_answer_Invite(); data.dwPDBID = customerInfo.nInviterID; data.bIsAgree = isAgree ? 1 : 0; ViewEventHelper.Instance.SendCommand(GameLogicDef.GVIEWCMD_CLAN_ANSWER_INVITE, ref data); return(true); }