using System; using System.Collections.Generic; using KKSG; using MiniJSON; using UILib; using UnityEngine; using XMainClient.UI; using XMainClient.UI.UICommon; using XUpdater; using XUtliPoolLib; namespace XMainClient { internal class XFriendsView : DlgBase { public uint TodaySendLeft { get { return this.m_TodaySendLeft; } } public uint TodayReceiveLeft { get { return this.m_TodayReceiveLeft; } } public uint TodaySendCount { get { return XSingleton.singleton.SendGiftMaxTimes - this.m_TodaySendLeft; } } public uint TodayReceiveCount { get { return XSingleton.singleton.ReceiveGifMaxTimes - this.m_TodayReceiveLeft; } } public bool Redpoint { get { for (int i = 0; i < this.mRedpoint.Length; i++) { bool flag = this.mRedpoint[i]; if (flag) { return true; } } return this.canSendGift; } } public override string fileName { get { return "GameSystem/FriendsDlg"; } } public override int group { get { return 1; } } public override bool hideMainMenu { get { return true; } } public override bool autoload { get { return true; } } public override bool pushstack { get { return true; } } public override bool fullscreenui { get { return true; } } public XMentorshipPupilsHandler MentorshipHandler { get { return this.m_mentorshipHandler; } set { this.m_mentorshipHandler = value; } } public Action OnAddBlockSucc; public Action OnRemoveFriendSucc; private bool m_RefreshFriendChatUI; private bool m_HasGiftCanReceive = false; private uint m_TodaySendLeft; private uint m_TodayReceiveLeft; private bool canSendGift = false; private bool[] mRedpoint = new bool[10]; private GameObject[] mRedpointUI = new GameObject[10]; private TabIndex m_CurrentTabIndex = TabIndex.ShowFriend; private int m_FriendListTitleHeight; private XFriendsDocument _doc = null; public List friendData = new List(); public List blockFriendData = new List(); public List applyData = new List(); private string m_DeleteFriendName = ""; private XPlayerInfoChildView m_FriendListTempView; private XFriendsViewHintHandler m_FriendsViewHintHandler; private GameObject m_FriendsViewHintFrame; private XFriendsViewAddBlockHandler m_FriendsViewAddBlockHandler; private GameObject m_FriendsViewAddBlockFrame; private XFriendsViewReceiveGiftHandler m_FriendsViewReceiveGiftHandler; private GameObject m_FriendsViewReceiveGiftFrame; private XFriendsRankHandler m_FriendsRankHandler; private GameObject m_FriendsRankFrame; private PartnerMainHandler m_partnerMainHandler; private FriendsWeddingHandler m_weddingMainHandler; private XMentorshipPupilsHandler m_mentorshipHandler; private XDragonPartnerHandler m_dragonPartnerHandler; private XDragonGuildListHandler m_dragonGuildListHandler; private XDragonGuildMainHandler m_dragonGuildMainHandler; private string m_noticeFriendOpenID; private string m_title; private string m_description; private string m_gameTag; public enum ShareType { PK = 1, Invite } private int GetTabIndexInt(TabIndex index) { return XFastEnumIntEqualityComparer.ToInt(index); } protected override void Init() { this._doc = XDocuments.GetSpecificDocument(XFriendsDocument.uuID); this.m_FriendListTempView = new XPlayerInfoChildView(); this.m_FriendsViewHintFrame = base.uiBehaviour.transform.Find("Bg/FriendHintFrame").gameObject; DlgHandlerBase.EnsureCreate(ref this.m_FriendsViewHintHandler, this.m_FriendsViewHintFrame, null, false); this.m_FriendsViewAddBlockFrame = base.uiBehaviour.transform.Find("Bg/FriendAddBlockFrame").gameObject; DlgHandlerBase.EnsureCreate(ref this.m_FriendsViewAddBlockHandler, this.m_FriendsViewAddBlockFrame, null, false); this.m_FriendsViewReceiveGiftFrame = base.uiBehaviour.transform.Find("Bg/FriendGiftFrame").gameObject; DlgHandlerBase.EnsureCreate(ref this.m_FriendsViewReceiveGiftHandler, this.m_FriendsViewReceiveGiftFrame, null, false); this.m_FriendsRankFrame = base.uiBehaviour.transform.Find("Bg/FriendsRank").gameObject; DlgHandlerBase.EnsureCreate(ref this.m_FriendsRankHandler, this.m_FriendsRankFrame, null, false); DlgHandlerBase.EnsureCreate(ref this.m_partnerMainHandler, base.uiBehaviour.transform.Find("Bg"), false, this); DlgHandlerBase.EnsureCreate(ref this.m_weddingMainHandler, base.uiBehaviour.transform.Find("Bg"), false, this); DlgHandlerBase.EnsureCreate(ref this.m_mentorshipHandler, base.uiBehaviour.transform.Find("Bg"), false, this); DlgHandlerBase.EnsureCreate(ref this.m_dragonPartnerHandler, base.uiBehaviour.transform.Find("Bg"), false, this); DlgHandlerBase.EnsureCreate(ref this.m_dragonGuildMainHandler, base.uiBehaviour.transform.Find("Bg"), false, this); DlgHandlerBase.EnsureCreate(ref this.m_dragonGuildListHandler, base.uiBehaviour.transform.Find("Bg"), false, this); } public override void RegisterEvent() { base.uiBehaviour.btnClose.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnClickClose)); base.uiBehaviour.btnRight.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnClickButtonR)); base.uiBehaviour.btnLeft.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnClickButtonL)); base.uiBehaviour.btnHint.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnCkickHint)); base.uiBehaviour.FriendListWrapContent.RegisterItemUpdateEventHandler(new WrapItemUpdateEventHandler(this._RankWrapFriendListUpdated)); } protected override void OnShow() { base.OnShow(); PtcC2M_FriendQueryReportNew ptcC2M_FriendQueryReportNew = new PtcC2M_FriendQueryReportNew(); ptcC2M_FriendQueryReportNew.Data.op = FriendOpType.Friend_GiftInfo; XSingleton.singleton.Send(ptcC2M_FriendQueryReportNew); this.canSendGift = false; this.m_FriendListTitleHeight = (base.uiBehaviour.goFriendListTitle.transform.Find("T1").Find("P").GetComponent("XUISprite") as IXUISprite).spriteHeight; base.uiBehaviour.FriendTabPool.FakeReturnAll(); int i = 0; while (i < XFriendsDocument.FriendsTabCount) { FriendSysConfigTable.RowData friendsTabItemByIndex = XFriendsDocument.GetFriendsTabItemByIndex(i); bool isOpen = friendsTabItemByIndex.IsOpen; if (isOpen) { TabIndex tabIndex = (TabIndex)(friendsTabItemByIndex.TabID - 1); bool flag = tabIndex == TabIndex.QQFriend && XSingleton.singleton.Channel != XAuthorizationChannel.XAuthorization_QQ; if (!flag) { bool flag2 = tabIndex == TabIndex.WeChatFriend && XSingleton.singleton.Channel != XAuthorizationChannel.XAuthorization_WeChat; if (!flag2) { bool flag3 = tabIndex == TabIndex.Mentorship && !XSingleton.singleton.IsSystemOpen(75); if (!flag3) { bool flag4 = tabIndex == TabIndex.Partner && !XSingleton.singleton.IsSystemOpen(700); if (!flag4) { bool flag5 = tabIndex == TabIndex.Wedding && !XSingleton.singleton.IsSystemOpened(XSysDefine.XSys_Wedding); if (!flag5) { bool flag6 = tabIndex == TabIndex.DragonPartner && !XSingleton.singleton.IsSystemOpened(XSysDefine.XSys_Activity_DragonNest); if (!flag6) { bool flag7 = tabIndex == TabIndex.DragonGuild && !XSingleton.singleton.IsSystemOpened(XSysDefine.XSys_GuildCollectSummon); if (!flag7) { GameObject gameObject = base.uiBehaviour.FriendTabPool.FetchGameObject(false); IXUICheckBox ixuicheckBox = gameObject.GetComponent("XUICheckBox") as IXUICheckBox; ixuicheckBox.ID = (ulong)((long)(friendsTabItemByIndex.TabID - 1)); ixuicheckBox.RegisterOnCheckEventHandler(new CheckBoxOnCheckEventHandler(this.OnClickTab)); IXUISprite ixuisprite = gameObject.transform.Find("P").GetComponent("XUISprite") as IXUISprite; ixuisprite.spriteName = friendsTabItemByIndex.Icon; IXUILabel ixuilabel = gameObject.transform.Find("T").GetComponent("XUILabel") as IXUILabel; ixuilabel.SetText(friendsTabItemByIndex.TabName); IXUILabel ixuilabel2 = gameObject.transform.Find("Selected/T").GetComponent("XUILabel") as IXUILabel; ixuilabel2.SetText(friendsTabItemByIndex.TabName); IXUISprite ixuisprite2 = gameObject.transform.Find("Selected/P").GetComponent("XUISprite") as IXUISprite; ixuisprite2.spriteName = friendsTabItemByIndex.Icon; bool flag8 = tabIndex == this.m_CurrentTabIndex; if (flag8) { bool bChecked = ixuicheckBox.bChecked; if (bChecked) { this.OnClickTab(ixuicheckBox); } else { ixuicheckBox.ForceSetFlag(true); } } else { ixuicheckBox.ForceSetFlag(false); } this.mRedpointUI[friendsTabItemByIndex.TabID - 1] = gameObject.transform.Find("RedPoint").gameObject; } } } } } } } } IL_314: i++; continue; goto IL_314; } base.uiBehaviour.FriendTabPool.ActualReturnAll(false); this.SetRedPoint(TabIndex.Mentorship, XMentorshipDocument.Doc.IsHasRedDot()); this.SetTabRedpoint(TabIndex.Partner, XPartnerDocument.Doc.IsHadRedDot); this.UpdateRedpointUI(); base.uiBehaviour.TabList.Refresh(); this.RefreshFriendList(true); this.QueryRoleState(); this._doc.ReqPlatFriendsRank(); } protected override void OnHide() { base.OnHide(); bool flag = this.m_CurrentTabIndex == TabIndex.Partner; if (flag) { this.m_partnerMainHandler.SetVisible(false); } bool flag2 = this.m_CurrentTabIndex == TabIndex.Mentorship; if (flag2) { this.MentorshipHandler.SetVisible(false); } bool flag3 = this.m_CurrentTabIndex == TabIndex.Wedding; if (flag3) { this.m_weddingMainHandler.SetVisible(false); } bool flag4 = this.m_FriendsRankHandler != null; if (flag4) { this.m_FriendsRankHandler.ClearPreTabTextures(); } bool flag5 = this.m_CurrentTabIndex == TabIndex.DragonPartner; if (flag5) { this.m_dragonPartnerHandler.SetVisible(false); } bool flag6 = this.m_CurrentTabIndex == TabIndex.DragonGuild; if (flag6) { bool flag7 = this.m_dragonGuildMainHandler.IsVisible(); if (flag7) { this.m_dragonGuildMainHandler.SetVisible(false); } bool flag8 = this.m_dragonGuildListHandler.IsVisible(); if (flag8) { this.m_dragonGuildListHandler.SetVisible(false); } } } protected override void OnUnload() { this.m_FriendListTempView = null; this._doc = null; for (int i = 0; i < this.mRedpointUI.Length; i++) { this.mRedpointUI[i] = null; } DlgHandlerBase.EnsureUnload(ref this.m_FriendsViewHintHandler); this.m_FriendsViewHintFrame = null; DlgHandlerBase.EnsureUnload(ref this.m_FriendsViewAddBlockHandler); this.m_FriendsViewAddBlockFrame = null; DlgHandlerBase.EnsureUnload(ref this.m_FriendsViewReceiveGiftHandler); this.m_FriendsViewReceiveGiftFrame = null; DlgHandlerBase.EnsureUnload(ref this.m_FriendsRankHandler); this.m_FriendsRankHandler = null; base.uiBehaviour.FriendTabPool.ReturnAll(false); DlgHandlerBase.EnsureUnload(ref this.m_partnerMainHandler); DlgHandlerBase.EnsureUnload(ref this.m_mentorshipHandler); DlgHandlerBase.EnsureUnload(ref this.m_weddingMainHandler); DlgHandlerBase.EnsureUnload(ref this.m_dragonPartnerHandler); DlgHandlerBase.EnsureUnload(ref this.m_dragonGuildMainHandler); DlgHandlerBase.EnsureUnload(ref this.m_dragonGuildListHandler); base.OnUnload(); } public void OnRefreshPlatFriendsRank() { bool flag = !base.IsVisible() || this.m_FriendsRankHandler == null; if (!flag) { this.m_FriendsRankHandler.RefreshRankList(); } } public void OnRefreshSendGiftState(PlatFriendRankInfo2Client info) { bool flag = !base.IsVisible() || this.m_FriendsRankHandler == null; if (!flag) { this.m_FriendsRankHandler.OnRefreshSendGiftState(info); } } public void NoticeFriend(string openID) { bool flag = !base.IsVisible() || this.m_FriendsRankHandler == null; if (!flag) { this.m_FriendsRankHandler.NoticeFriend(openID); } } public bool OnClickClose(IXUIButton sp) { this.SetVisibleWithAnimation(false, null); return true; } public void ShowTab(XSysDefine sys) { if (sys <= XSysDefine.XSys_Partner) { if (sys != XSysDefine.XSys_Mentorship) { if (sys == XSysDefine.XSys_Partner) { this.m_CurrentTabIndex = TabIndex.Partner; } } else { this.m_CurrentTabIndex = TabIndex.Mentorship; } } else if (sys != XSysDefine.XSys_Wedding) { if (sys == XSysDefine.XSys_GuildCollectSummon) { this.m_CurrentTabIndex = TabIndex.DragonGuild; } } else { this.m_CurrentTabIndex = TabIndex.Wedding; } this.SetVisible(true, true); } private void SetTabRedpoint(TabIndex index, bool redpoint) { int tabIndexInt = this.GetTabIndexInt(index); this.mRedpoint[tabIndexInt] = redpoint; bool flag = this.mRedpointUI[tabIndexInt] != null; if (flag) { this.mRedpointUI[tabIndexInt].SetActive(redpoint); } XSingleton.singleton.RecalculateRedPointState(XSysDefine.XSys_Friends, true); } public void SetRedPoint(TabIndex index, bool repoint) { int tabIndexInt = this.GetTabIndexInt(index); bool flag = tabIndexInt < this.mRedpoint.Length; if (flag) { this.mRedpoint[tabIndexInt] = repoint; } } private bool OnClickTab(IXUICheckBox cbx) { bool bChecked = cbx.bChecked; if (bChecked) { this.m_CurrentTabIndex = (TabIndex)cbx.ID; this._ApplyTabData(this.m_CurrentTabIndex); } return true; } public void UpdateRedpointUI() { for (int i = 0; i < this.mRedpointUI.Length; i++) { bool flag = null != this.mRedpointUI[i]; if (flag) { this.mRedpointUI[i].SetActive(this.mRedpoint[i]); } } } public void OnShowFriendDlg() { bool flag = !base.IsVisible(); if (flag) { this.SetVisibleWithAnimation(true, null); } } public XFriendData GetFriendDataById(ulong uid) { for (int i = 0; i < this.friendData.Count; i++) { bool flag = this.friendData[i].roleid == uid; if (flag) { return this.friendData[i]; } } return null; } public XFriendData GetFriendDataByName(string name) { for (int i = 0; i < this.friendData.Count; i++) { bool flag = this.friendData[i].name == name; if (flag) { return this.friendData[i]; } } return null; } public XFriendData GetBlockFriendDataById(ulong uid) { for (int i = 0; i < this.blockFriendData.Count; i++) { bool flag = this.blockFriendData[i].roleid == uid; if (flag) { return this.blockFriendData[i]; } } return null; } public XFriendData GetBlockFriendDataByName(string name) { for (int i = 0; i < this.blockFriendData.Count; i++) { bool flag = this.blockFriendData[i].name == name; if (flag) { return this.blockFriendData[i]; } } return null; } public List GetFriendData() { return this.friendData; } public bool OnClickSendGiftToFriend(IXUIButton btn) { RpcC2M_FriendGiftOpNew rpcC2M_FriendGiftOpNew = new RpcC2M_FriendGiftOpNew(); rpcC2M_FriendGiftOpNew.oArg.op = FriendOpType.Friend_SendGift; rpcC2M_FriendGiftOpNew.oArg.roleid.Add(btn.ID); XSingleton.singleton.Send(rpcC2M_FriendGiftOpNew); return true; } public bool OnClickReceiveGiftFromFriend(IXUIButton btn) { bool flag = this.m_TodayReceiveLeft > 0u; if (flag) { RpcC2M_FriendGiftOpNew rpcC2M_FriendGiftOpNew = new RpcC2M_FriendGiftOpNew(); rpcC2M_FriendGiftOpNew.oArg.op = FriendOpType.Friend_TakeGift; rpcC2M_FriendGiftOpNew.oArg.roleid.Add(btn.ID); XSingleton.singleton.Send(rpcC2M_FriendGiftOpNew); } else { XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("FRIENDS_RECEIVE_ZERO_LEFT"), "fece00"); } return true; } public bool OnClickSendGiftToFriendNotAvaliable(IXUIButton btn) { XSingleton.singleton.ShowSystemTip(XSingleton.singleton.CannotSendGiftToFriendHintText, "fece00"); return true; } public string GetFriendNameById(ulong uid) { for (int i = 0; i < this.friendData.Count; i++) { bool flag = this.friendData[i].roleid == uid; if (flag) { return this.friendData[i].name; } } return ""; } public string GetBlockFriendNameById(ulong uid) { for (int i = 0; i < this.blockFriendData.Count; i++) { bool flag = this.blockFriendData[i].roleid == uid; if (flag) { return this.blockFriendData[i].name; } } return ""; } private bool OnClickButtonR(IXUIButton sp) { TabIndex currentTabIndex = this.m_CurrentTabIndex; switch (currentTabIndex) { case TabIndex.ShowFriend: DlgBase.singleton.RandomFriend(); return true; case TabIndex.ApplyFriend: { bool flag = this.applyData.Count > 0; if (flag) { RpcC2M_DoAddFriendNew rpcC2M_DoAddFriendNew = new RpcC2M_DoAddFriendNew(); for (int i = 0; i < this.applyData.Count; i++) { rpcC2M_DoAddFriendNew.oArg.roleid.Add(this.applyData[i].roleid); } rpcC2M_DoAddFriendNew.oArg.op = FriendOpType.Friend_AgreeApply; XSingleton.singleton.Send(rpcC2M_DoAddFriendNew); } return true; } case TabIndex.DragonPartner: break; case TabIndex.WeChatFriend: DlgBase.singleton.RandomFriend(); return true; default: if (currentTabIndex == TabIndex.BlockFriend) { this.m_FriendsViewAddBlockHandler.SetVisible(true); return true; } break; } XSingleton.singleton.ShowSystemTip(ErrorCode.ERR_UNKNOWN, "fece00"); return true; } private bool OnClickButtonL(IXUIButton sp) { TabIndex currentTabIndex = this.m_CurrentTabIndex; if (currentTabIndex != TabIndex.ShowFriend) { if (currentTabIndex != TabIndex.ApplyFriend) { XSingleton.singleton.ShowSystemTip(ErrorCode.ERR_UNKNOWN, "fece00"); } else { bool flag = this.applyData.Count > 0; if (flag) { RpcC2M_DoAddFriendNew rpcC2M_DoAddFriendNew = new RpcC2M_DoAddFriendNew(); for (int i = 0; i < this.applyData.Count; i++) { rpcC2M_DoAddFriendNew.oArg.roleid.Add(this.applyData[i].roleid); } rpcC2M_DoAddFriendNew.oArg.op = FriendOpType.Friend_IgnoreApply; XSingleton.singleton.Send(rpcC2M_DoAddFriendNew); } } } else { bool flag2 = this.m_FriendsViewReceiveGiftHandler != null; if (flag2) { this.m_FriendsViewReceiveGiftHandler.SetVisible(true); this.m_FriendsViewReceiveGiftHandler.RefreshList(this.friendData); } } return true; } public bool OnClickAddQQFriends(IXUIButton sp) { ulong id = sp.ID; XFriendData friendDataById = this.GetFriendDataById(id); XSingleton.singleton.OneKeyAddQQFriend(friendDataById.openID, friendDataById.nickName); return true; } public bool OnClickChatFriend(IXUIButton sp) { ulong id = sp.ID; bool flag = this.GetBlockFriendDataById(id) != null; if (flag) { XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("FRIENDS_BLOCK_HINT_TEXT"), "fece00"); } else { XFriendData friendDataById = this.GetFriendDataById(id); bool flag2 = friendDataById != null; if (flag2) { ChatFriendData chatFriendData = new ChatFriendData(); chatFriendData.name = friendDataById.name; chatFriendData.roleid = friendDataById.roleid; chatFriendData.powerpoint = friendDataById.powerpoint; chatFriendData.profession = friendDataById.profession; chatFriendData.viplevel = friendDataById.viplevel; chatFriendData.isfriend = true; chatFriendData.setid = friendDataById.setid; chatFriendData.msgtime = DateTime.Now; DlgBase.singleton.PrivateChatTo(chatFriendData); } } return true; } private bool OnClickAgreeApply(IXUIButton sp) { bool flag = this.GetFriendDataById(sp.ID) != null; if (flag) { XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("FRIENDS_ALREADY_FRIENDS"), "fece00"); } RpcC2M_DoAddFriendNew rpcC2M_DoAddFriendNew = new RpcC2M_DoAddFriendNew(); rpcC2M_DoAddFriendNew.oArg.roleid.Add(sp.ID); rpcC2M_DoAddFriendNew.oArg.op = FriendOpType.Friend_AgreeApply; XSingleton.singleton.Send(rpcC2M_DoAddFriendNew); return true; } public void OnApply(DoAddFriendArg oArg, DoAddFriendRes oRes) { FriendOpType op = oArg.op; if (op != FriendOpType.Friend_AgreeApply) { if (op == FriendOpType.Friend_IgnoreApply) { XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("ERR_SUCCESS"), "fece00"); } } else { bool flag = oRes.errorcode == ErrorCode.ERR_SUCCESS; if (flag) { XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("RRIENDS_APPLY_AGREE"), "fece00"); } else { XSingleton.singleton.ShowSystemTip(oRes.errorcode, "fece00"); } } } private bool OnClickIgnoreApply(IXUIButton sp) { bool flag = this.GetFriendDataById(sp.ID) != null; if (flag) { XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("FRIENDS_ALREADY_FRIENDS"), "fece00"); } RpcC2M_DoAddFriendNew rpcC2M_DoAddFriendNew = new RpcC2M_DoAddFriendNew(); rpcC2M_DoAddFriendNew.oArg.roleid.Add(sp.ID); rpcC2M_DoAddFriendNew.oArg.op = FriendOpType.Friend_IgnoreApply; XSingleton.singleton.Send(rpcC2M_DoAddFriendNew); return true; } private bool OnCkickHint(IXUIButton sp) { this.m_FriendsViewHintHandler.SetVisible(true); return true; } private bool DoDeleteFriend(IXUIButton sp) { this.RemoveFriend(sp.ID); XSingleton.singleton.CloseModalDlg(); return true; } public bool OnClickDeleteFriend(IXUIButton sp) { bool flag = TabIndex.BlockFriend == this.m_CurrentTabIndex; if (flag) { XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("FRIENDS_BLOCK_HINT_TEXT"), "fece00"); } else { bool flag2 = this.m_CurrentTabIndex == TabIndex.ShowFriend; if (flag2) { DlgBase.singleton.Load(); DlgBase.singleton.uiBehaviour.m_OKButton.ID = sp.ID; XSingleton.singleton.ShowModalDialog(XStringDefineProxy.GetString("FRIENDS_DELETE"), XStringDefineProxy.GetString("COMMON_OK"), XStringDefineProxy.GetString("COMMON_CANCEL"), new ButtonClickEventHandler(this.DoDeleteFriend)); } } return true; } public bool OnRemoveBlockFriend(IXUIButton sp) { ulong id = sp.ID; DlgBase.singleton.RemoveBlockFriend(id); return true; } private void OnClickFriendItemPanel(IXUISprite sp) { ulong id = sp.ID; XCharacterCommonMenuDocument.ReqCharacterMenuInfo(id, false); } public void AddFriendById(ulong id) { bool flag = id == XSingleton.singleton.XPlayerData.RoleID; if (flag) { XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("FRIENDS_NOT_ADD_SELF"), "fece00"); } else { RpcC2M_AddFriendNew rpcC2M_AddFriendNew = new RpcC2M_AddFriendNew(); rpcC2M_AddFriendNew.oArg.friendroleid = id; XSingleton.singleton.Send(rpcC2M_AddFriendNew); } } public void AddFriendByName(string name) { RpcC2M_AddFriendNew rpcC2M_AddFriendNew = new RpcC2M_AddFriendNew(); rpcC2M_AddFriendNew.oArg.name = name; XSingleton.singleton.Send(rpcC2M_AddFriendNew); } public void AddFriendRes(ErrorCode code, ulong uid) { bool flag = code == ErrorCode.ERR_SUCCESS; if (flag) { XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("FRIENDS_APPLY_SUCC"), "fece00"); DlgBase.singleton.FriendAdded(); } else { bool flag2 = code == ErrorCode.ERR_FRIEND_REPEATED; if (flag2) { XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("FRIENDS_ALREADY_FRIENDS"), "fece00"); } else { bool flag3 = code == ErrorCode.ERR_ADDFRIEND_DUMMYROLE; if (flag3) { XSingleton.singleton.ShowErrorCode(code); } else { XSingleton.singleton.ShowSystemTip(code, "fece00"); } } } } private bool IsNewFirend(XFriendData data) { for (int i = 0; i < this.friendData.Count; i++) { bool flag = this.friendData[i].roleid == data.roleid; if (flag) { return false; } } return true; } public void OnFriendOpNotify(PtcM2C_FriendOpNtfNew roPtc) { switch (roPtc.Data.op) { case FriendOpType.Friend_FriendAll: this.friendData.Clear(); for (int i = 0; i < roPtc.Data.friendlist.Count; i++) { Friend2Client friend2Client = roPtc.Data.friendlist[i]; XFriendData xfriendData = this.GenerateFriendInfo(friend2Client); this.friendData.Add(xfriendData); XSingleton.singleton.AddSpriteYuYinId(friend2Client.name + "_" + friend2Client.roleid.ToString(), xfriendData.audioid); } this.QueryRoleState(); this.CheckGiftSendReceiveState(); break; case FriendOpType.Friend_ApplyAll: { this.applyData.Clear(); for (int j = 0; j < roPtc.Data.applylist.Count; j++) { Friend2Client friend2Client2 = roPtc.Data.applylist[j]; XFriendData item = this.GenerateFriendInfo(friend2Client2); this.applyData.Add(item); } bool flag = base.IsVisible(); if (flag) { this.RefreshFriendList(false); } this.SetTabRedpoint(TabIndex.ApplyFriend, this.applyData.Count > 0); break; } case FriendOpType.Friend_FriendAdd: { for (int k = 0; k < roPtc.Data.friendlist.Count; k++) { Friend2Client friend2Client3 = roPtc.Data.friendlist[k]; XFriendData xfriendData2 = this.GenerateFriendInfo(friend2Client3); bool flag2 = this.IsNewFirend(xfriendData2); this.friendData.Add(xfriendData2); DlgBase.singleton.ChatDoc.RemoveStranger(friend2Client3.roleid); bool flag3 = flag2; if (flag3) { DlgBase.singleton.UIOP.RefreshFriendChat(xfriendData2, false); } XSingleton.singleton.AddSpriteYuYinId(xfriendData2.name + "_" + xfriendData2.roleid.ToString(), xfriendData2.audioid); } this.SortFriendData(); bool flag4 = base.IsVisible(); if (flag4) { this.RefreshFriendList(false); bool flag5 = this.m_FriendsViewReceiveGiftHandler != null && this.m_FriendsViewReceiveGiftHandler.IsVisible(); if (flag5) { this.m_FriendsViewReceiveGiftHandler.RefreshList(this.friendData); } } this.CheckGiftSendReceiveState(); break; } case FriendOpType.Friend_FriendDelete: { for (int l = 0; l < this.friendData.Count; l++) { bool flag6 = false; int num = 0; while (roPtc.Data.deletelist.Count > 0 && num < roPtc.Data.deletelist.Count) { bool flag7 = roPtc.Data.deletelist[num] == this.friendData[l].roleid; if (flag7) { flag6 = true; int index = roPtc.Data.deletelist.Count - 1; roPtc.Data.deletelist[num] = roPtc.Data.deletelist[index]; roPtc.Data.deletelist.RemoveAt(index); break; } num++; } bool flag8 = flag6; if (flag8) { int index2 = this.friendData.Count - 1; this.friendData[l--] = this.friendData[index2]; this.friendData.RemoveAt(index2); } } this.SortFriendData(); bool flag9 = base.IsVisible(); if (flag9) { this.RefreshFriendList(false); bool flag10 = this.m_FriendsViewReceiveGiftHandler != null && this.m_FriendsViewReceiveGiftHandler.IsVisible(); if (flag10) { this.m_FriendsViewReceiveGiftHandler.RefreshList(this.friendData); } } this.CheckGiftSendReceiveState(); break; } case FriendOpType.Friend_ApplyAdd: { for (int m = 0; m < roPtc.Data.applylist.Count; m++) { Friend2Client friend2Client4 = roPtc.Data.applylist[m]; XFriendData item2 = this.GenerateFriendInfo(friend2Client4); this.applyData.Add(item2); } bool flag11 = base.IsVisible(); if (flag11) { this.RefreshFriendList(false); bool flag12 = this.m_FriendsViewReceiveGiftHandler != null && this.m_FriendsViewReceiveGiftHandler.IsVisible(); if (flag12) { this.m_FriendsViewReceiveGiftHandler.RefreshList(this.friendData); } } this.SetTabRedpoint(TabIndex.ApplyFriend, this.applyData.Count > 0); break; } case FriendOpType.Friend_ApplyDelete: { for (int n = 0; n < this.applyData.Count; n++) { bool flag13 = false; int num2 = 0; while (roPtc.Data.deleteapplylist.Count > 0 && num2 < roPtc.Data.deleteapplylist.Count) { bool flag14 = roPtc.Data.deleteapplylist[num2] == this.applyData[n].roleid; if (flag14) { flag13 = true; int index3 = roPtc.Data.deleteapplylist.Count - 1; roPtc.Data.deleteapplylist[num2] = roPtc.Data.deleteapplylist[index3]; roPtc.Data.deleteapplylist.RemoveAt(index3); break; } num2++; } bool flag15 = flag13; if (flag15) { int index4 = this.applyData.Count - 1; this.applyData[n--] = this.applyData[index4]; this.applyData.RemoveAt(index4); } } bool flag16 = base.IsVisible(); if (flag16) { this.RefreshFriendList(false); bool flag17 = this.m_FriendsViewReceiveGiftHandler != null && this.m_FriendsViewReceiveGiftHandler.IsVisible(); if (flag17) { this.m_FriendsViewReceiveGiftHandler.RefreshList(this.friendData); } } this.SetTabRedpoint(TabIndex.ApplyFriend, this.applyData.Count > 0); break; } case FriendOpType.Friend_ReveiveGift: { for (int num3 = 0; num3 < roPtc.Data.senderid.Count; num3++) { XFriendData friendDataById = this.GetFriendDataById(roPtc.Data.senderid[num3]); bool flag18 = friendDataById != null; if (flag18) { friendDataById.receiveAll += 1u; friendDataById.receiveGiftState = (uint)XFastEnumIntEqualityComparer.ToInt(FriendGiftReceive.FriendGift_Received); friendDataById.receivetime = roPtc.Data.receivedtime[num3]; } } bool flag19 = base.IsVisible() && this.m_FriendsViewReceiveGiftHandler != null && this.m_FriendsViewReceiveGiftHandler.IsVisible(); if (flag19) { this.m_FriendsViewReceiveGiftHandler.RefreshList(this.friendData); } this.CheckGiftSendReceiveState(); break; } case FriendOpType.Friend_GiftInfo: this.m_TodaySendLeft = roPtc.Data.giftcount.SendLeft; this.m_TodayReceiveLeft = roPtc.Data.giftcount.ReceiveLeft; break; } } private bool _CheckHasGiftToSend() { this.canSendGift = false; uint num = (uint)XFastEnumIntEqualityComparer.ToInt(FriendGiftSend.FriendGift_Sended); for (int i = 0; i < this.friendData.Count; i++) { bool flag = this.friendData[i].degreeDay >= XSingleton.singleton.SendGiftMinDegree && this.friendData[i].sendGiftState != num; if (flag) { this.canSendGift = true; break; } } return this.canSendGift; } private void CheckGiftSendReceiveState() { bool flag = this._CheckHasGiftToSend(); bool flag2 = this._CheckHasGiftCanReceive(); this.SetTabRedpoint(TabIndex.ShowFriend, flag || flag2); this.RefreshGiftBtnRedPoint(); XSingleton.singleton.RecalculateRedPointState(XSysDefine.XSys_Friends, true); } public void OnFriendGiftOp(FriendGiftOpArg oArg, FriendGiftOpRes oRes) { bool flag = oRes.errorcode > ErrorCode.ERR_SUCCESS; if (flag) { XSingleton.singleton.ShowSystemTip(oRes.errorcode, "fece00"); } else { FriendOpType op = oArg.op; if (op != FriendOpType.Friend_SendGift) { if (op == FriendOpType.Friend_TakeGift) { this.m_TodayReceiveLeft -= 1u; bool flag2 = oArg.roleid != null && oArg.roleid.Count > 0; if (flag2) { XFriendData friendDataById = this.GetFriendDataById(oArg.roleid[0]); bool flag3 = friendDataById != null; if (flag3) { friendDataById.receiveGiftState = (uint)XFastEnumIntEqualityComparer.ToInt(FriendGiftReceive.FriendGift_ReceiveTaken); List list = new List(); list.Add((uint)XFastEnumIntEqualityComparer.ToInt(ItemEnum.FRIEND_GIFT)); List list2 = new List(); list2.Add(1u); XSingleton.singleton.ShowSystemTip(string.Format(XSingleton.singleton.GiftSuccessfullyReceiveHintText, this.m_TodayReceiveLeft), "fece00"); } bool flag4 = base.IsVisible() && base.uiBehaviour != null && base.uiBehaviour.FriendListWrapContent != null && this.friendData != null; if (flag4) { base.uiBehaviour.FriendListWrapContent.SetContentCount(this.friendData.Count, false); } bool flag5 = base.IsVisible() && this.m_FriendsViewReceiveGiftHandler != null && this.m_FriendsViewReceiveGiftHandler.IsVisible(); if (flag5) { this.m_FriendsViewReceiveGiftHandler.RefreshList(); } this.CheckGiftSendReceiveState(); this.ReceiveGiftReply(friendDataById); } } } else { this.m_TodaySendLeft -= 1u; bool flag6 = oArg.roleid != null && oArg.roleid.Count > 0; if (flag6) { XFriendData friendDataById2 = this.GetFriendDataById(oArg.roleid[0]); bool flag7 = friendDataById2 != null; if (flag7) { friendDataById2.sendGiftState = (uint)XFastEnumIntEqualityComparer.ToInt(FriendGiftSend.FriendGift_Sended); XSingleton.singleton.ShowSystemTip(string.Format(XSingleton.singleton.GiftSuccessfullySentHintText, this.m_TodaySendLeft), "fece00"); this.CheckGiftSendReceiveState(); } bool flag8 = base.IsVisible() && this.m_CurrentTabIndex == TabIndex.ShowFriend; if (flag8) { bool flag9 = base.uiBehaviour != null && base.uiBehaviour.FriendListWrapContent != null && this.friendData != null; if (flag9) { base.uiBehaviour.FriendListWrapContent.SetContentCount(this.friendData.Count, false); } } bool flag10 = base.IsVisible() && this.m_FriendsViewReceiveGiftHandler != null && this.m_FriendsViewReceiveGiftHandler.IsVisible(); if (flag10) { this.m_FriendsViewReceiveGiftHandler.RefreshList(); } } } } } private void ReceiveGiftReply(XFriendData _data) { ChatInfo chatInfo = new ChatInfo(); chatInfo.mTime = DateTime.Now; chatInfo.isSelfSender = true; chatInfo.mReceiverName = _data.name; chatInfo.mReceiverId = _data.roleid; chatInfo.mReciverPowerPoint = _data.powerpoint; chatInfo.mRecieverProfession = _data.profession; chatInfo.mReceiverVip = _data.viplevel; XChatDocument specificDocument = XDocuments.GetSpecificDocument(XChatDocument.uuID); specificDocument.AddChatinfo2FriendList(chatInfo); DlgBase.singleton.SendExternalFriendChat(XStringDefineProxy.GetString("FRIENDS_RECEIVE_THX"), chatInfo, 0UL, 0f, null); XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("FRIENDS_RECEIVE_THX_SEND"), "fece00"); } public void RemoveFriend(ulong id) { DlgBase.singleton.Load(); DlgBase.singleton.uiBehaviour.m_OKButton.ID = id; XFriendData friendDataById = this.GetFriendDataById(id); bool flag = friendDataById != null; if (flag) { XSingleton.singleton.ShowModalDialog(XStringDefineProxy.GetString("FRIENDS_DELETE", new object[] { friendDataById.name }), XStringDefineProxy.GetString("COMMON_OK"), XStringDefineProxy.GetString("COMMON_CANCEL"), new ButtonClickEventHandler(this.DoDeleteFriendByID)); } else { this.DoDeleteFriendByID(DlgBase.singleton.uiBehaviour.m_OKButton); } } private bool DoDeleteFriendByID(IXUIButton btn) { XFriendData friendDataById = this.GetFriendDataById(btn.ID); bool flag = friendDataById != null; if (flag) { this.m_DeleteFriendName = friendDataById.name; } XSingleton.singleton.CloseModalDlg(); bool flag2 = this.OnRemoveFriendSucc != null; if (flag2) { this.OnRemoveFriendSucc(); } ulong id = btn.ID; RpcC2M_RemoveFriendNew rpcC2M_RemoveFriendNew = new RpcC2M_RemoveFriendNew(); rpcC2M_RemoveFriendNew.oArg.friendroleid = id; XSingleton.singleton.Send(rpcC2M_RemoveFriendNew); return true; } public void RemoveFriendRes(ErrorCode code, ulong roleid) { for (int i = 0; i < this.friendData.Count; i++) { bool flag = this.friendData[i].roleid == roleid; if (flag) { DlgBase.singleton.ChatDoc.AddStranger(roleid); this.friendData.RemoveAt(i); break; } } this.RefreshFriendList(false); bool flag2 = this.m_DeleteFriendName != ""; if (flag2) { bool flag3 = code == ErrorCode.ERR_SUCCESS; if (flag3) { XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("FRIENDS_DEL_SUCC") + this.m_DeleteFriendName, "fece00"); } this.m_DeleteFriendName = ""; } DlgBase.singleton.ChatDoc.RemoveFriend(roleid); } public void UpdateFriendInfo(ulong uid, uint daydegree, uint alldegree) { XFriendData friendDataById = this.GetFriendDataById(uid); bool flag = friendDataById != null; if (flag) { uint deltaDay = daydegree - friendDataById.degreeDay; uint deltaAll = alldegree - friendDataById.degreeAll; friendDataById.degreeDay = daydegree; friendDataById.degreeAll = alldegree; this.CheckGiftSendReceiveState(); bool flag2 = base.IsVisible() && this.m_CurrentTabIndex == TabIndex.ShowFriend; if (flag2) { bool flag3 = null != friendDataById.friendgo; if (flag3) { this._UpdateFriendDegreeUI(friendDataById.friendgo.transform, friendDataById, deltaDay, deltaAll); this._UpdateFriendSendGiftUI(friendDataById.friendgo.transform, friendDataById); } else { base.uiBehaviour.FriendListWrapContent.SetContentCount(this.friendData.Count, false); } } } } public void QueryRoleState() { PtcC2M_RoleStateReportNew ptcC2M_RoleStateReportNew = new PtcC2M_RoleStateReportNew(); for (int i = 0; i < this.friendData.Count; i++) { ptcC2M_RoleStateReportNew.Data.roleid.Add(this.friendData[i].roleid); } XChatDocument specificDocument = XDocuments.GetSpecificDocument(XChatDocument.uuID); for (int j = 0; j < specificDocument.ChatFriendList.Count; j++) { ChatFriendData chatFriendData = specificDocument.ChatFriendList[j]; bool flag = !ptcC2M_RoleStateReportNew.Data.roleid.Contains(chatFriendData.roleid); if (flag) { ptcC2M_RoleStateReportNew.Data.roleid.Add(chatFriendData.roleid); } } XSingleton.singleton.Send(ptcC2M_RoleStateReportNew); } public void SortFriendData() { this.friendData.Sort(new Comparison(this.CompareFriendData)); } public void QueryRoleStateRes(RoleStateNtf rolestate) { for (int i = 0; i < this.friendData.Count; i++) { for (int j = 0; j < rolestate.roleid.Count; j++) { bool flag = rolestate.roleid[j] == this.friendData[i].roleid; if (flag) { this.friendData[i].online = rolestate.state[j]; this.friendData[i].lastlogin = rolestate.timelastlogin[j]; } } } this.SortFriendData(); this.RefreshFriendList(false); bool flag2 = base.IsVisible() && this.m_FriendsViewReceiveGiftHandler != null && this.m_FriendsViewReceiveGiftHandler.IsVisible(); if (flag2) { this.m_FriendsViewReceiveGiftHandler.RefreshList(this.friendData); } XFriendListEventArgs @event = XEventPool.GetEvent(); @event.Firer = XSingleton.singleton.Doc; XSingleton.singleton.FireEvent(@event); } private int CompareOfflineTime(uint lastLogin1, uint lastLogin2) { int num = 0; int num2 = 0; int value = 0; int num3 = 0; this.GetOfflineTime((int)lastLogin1, out num, out num2); this.GetOfflineTime((int)lastLogin2, out value, out num3); bool flag = num2 == num3; int result; if (flag) { result = num.CompareTo(value); } else { result = num2.CompareTo(num3); } return result; } private void GetOfflineTime(int lastlogin, out int number, out int unit) { bool flag = lastlogin < 60; if (flag) { number = 1; unit = 1; } else { bool flag2 = lastlogin < 3600; if (flag2) { number = lastlogin / 60; unit = 1; } else { bool flag3 = lastlogin < 86400; if (flag3) { number = lastlogin / 3600; unit = 2; } else { bool flag4 = lastlogin < 2678400; if (flag4) { number = lastlogin / 86400; unit = 3; } else { number = lastlogin / 2592000; unit = 4; } } } } } private int CompareFriendData(XFriendData a, XFriendData b) { bool flag = a.online == 0u && b.online == 0u; if (flag) { int num = this.CompareOfflineTime(a.lastlogin, b.lastlogin); bool flag2 = num != 0; if (flag2) { return num; } } else { bool flag3 = a.online == 0u || b.online == 0u; if (flag3) { return b.online.CompareTo(a.online); } } bool flag4 = b.degreeAll != a.degreeAll; int result; if (flag4) { result = b.degreeAll.CompareTo(a.degreeAll); } else { bool flag5 = b.level != a.level; if (flag5) { result = b.level.CompareTo(a.level); } else { bool flag6 = b.powerpoint != a.powerpoint; if (flag6) { result = b.powerpoint.CompareTo(a.powerpoint); } else { result = b.name.CompareTo(a.name); } } } return result; } public int CompareFriendGiftData(XFriendData a, XFriendData b) { return b.receiveAll.CompareTo(a.receiveAll); } public void ShowFriends(bool refreshChatUI = false) { this.m_RefreshFriendChatUI = refreshChatUI; this._ApplyTabData(TabIndex.ApplyFriend); } private int _SetTabNumLabel(TabIndex tab) { TabIndex currentTabIndex = this.m_CurrentTabIndex; int num; if (currentTabIndex != TabIndex.ShowFriend) { if (currentTabIndex != TabIndex.ApplyFriend) { if (currentTabIndex != TabIndex.BlockFriend) { num = 0; } else { num = this.blockFriendData.Count; base.uiBehaviour.goFriendListBrockZero.SetActive(num <= 0); } } else { num = this.applyData.Count; } } else { num = this.friendData.Count; base.uiBehaviour.goFriendListZero.SetActive(num <= 0); } FriendSysConfigTable.RowData friendsTabItemByID = XFriendsDocument.GetFriendsTabItemByID(this.GetTabIndexInt(this.m_CurrentTabIndex) + 1); int num2 = num; bool flag = this.m_CurrentTabIndex == TabIndex.ApplyFriend; if (flag) { num2 = this.friendData.Count; } base.uiBehaviour.lbFriendsNum.SetText(string.Format(XSingleton.singleton.CommonCountTotalFmt, num2, friendsTabItemByID.NumLimit)); return num; } private void _ApplyTabData(TabIndex tab) { bool flag = base.IsVisible(); bool flag2 = flag; if (flag2) { base.uiBehaviour.btnHint.SetVisible(this.m_CurrentTabIndex == TabIndex.ShowFriend); bool flag3 = this.m_CurrentTabIndex == TabIndex.ShowFriend; if (flag3) { base.uiBehaviour.goFriendListTitle.SetActive(true); } else { base.uiBehaviour.goFriendListTitle.SetActive(false); } this.MentorshipHandler.SetVisible(this.m_CurrentTabIndex == TabIndex.Mentorship); this.m_FriendsRankHandler.SetVisible(TabIndex.WeChatFriend == this.m_CurrentTabIndex || TabIndex.QQFriend == this.m_CurrentTabIndex); bool flag4 = this.m_partnerMainHandler.IsVisible() && TabIndex.Partner != this.m_CurrentTabIndex; if (flag4) { this.m_partnerMainHandler.SetVisible(false); } this.m_weddingMainHandler.SetVisible(TabIndex.Wedding == this.m_CurrentTabIndex); bool flag5 = this.m_dragonPartnerHandler.IsVisible() && TabIndex.DragonPartner != this.m_CurrentTabIndex; if (flag5) { this.m_dragonPartnerHandler.SetVisible(false); } bool flag6 = this.m_dragonGuildListHandler.IsVisible() && TabIndex.DragonGuild != this.m_CurrentTabIndex; if (flag6) { this.m_dragonGuildListHandler.SetVisible(false); } bool flag7 = this.m_dragonGuildMainHandler.IsVisible() && TabIndex.DragonGuild != this.m_CurrentTabIndex; if (flag7) { this.m_dragonGuildMainHandler.SetVisible(false); } base.uiBehaviour.content.gameObject.SetActive(TabIndex.WeChatFriend != this.m_CurrentTabIndex && TabIndex.QQFriend != this.m_CurrentTabIndex); base.uiBehaviour.goFriendListZero.SetActive(false); base.uiBehaviour.goFriendListBrockZero.SetActive(false); FriendSysConfigTable.RowData friendsTabItemByID = XFriendsDocument.GetFriendsTabItemByID(this.GetTabIndexInt(this.m_CurrentTabIndex) + 1); base.uiBehaviour.btnLeft.SetVisible(friendsTabItemByID.LButtonLabel.Length > 0); base.uiBehaviour.lbButtonL.SetText(friendsTabItemByID.LButtonLabel); base.uiBehaviour.btnRight.SetVisible(friendsTabItemByID.RButtonLabel.Length > 0); base.uiBehaviour.lbButtonR.SetText(friendsTabItemByID.RButtonLabel); base.uiBehaviour.lbFriendsNumLabel.SetText(friendsTabItemByID.NumLabel); base.uiBehaviour.lbFriendsNumLabel.SetVisible(friendsTabItemByID.NumLabel.Length > 0); base.uiBehaviour.lbFriendsNum.SetVisible(friendsTabItemByID.NumLabel.Length > 0); this._SetTabNumLabel(this.m_CurrentTabIndex); this.CheckGiftSendReceiveState(); } bool flag8 = flag; if (flag8) { this.RefreshFriendList(false); } switch (tab) { case TabIndex.ShowFriend: { PtcC2M_FriendQueryReportNew ptcC2M_FriendQueryReportNew = new PtcC2M_FriendQueryReportNew(); ptcC2M_FriendQueryReportNew.Data.op = FriendOpType.Friend_FriendAll; XSingleton.singleton.Send(ptcC2M_FriendQueryReportNew); break; } case TabIndex.ApplyFriend: { PtcC2M_FriendQueryReportNew ptcC2M_FriendQueryReportNew2 = new PtcC2M_FriendQueryReportNew(); ptcC2M_FriendQueryReportNew2.Data.op = FriendOpType.Friend_ApplyAll; XSingleton.singleton.Send(ptcC2M_FriendQueryReportNew2); break; } case TabIndex.DragonPartner: { bool flag9 = this.m_dragonPartnerHandler != null && !this.m_dragonPartnerHandler.IsVisible(); if (flag9) { this.m_dragonPartnerHandler.SetVisible(true); } break; } case TabIndex.Partner: { bool flag10 = this.m_partnerMainHandler != null && !this.m_partnerMainHandler.IsVisible(); if (flag10) { this.m_partnerMainHandler.SetVisible(true); } break; } case TabIndex.Mentorship: { bool flag11 = this.MentorshipHandler != null && !this.MentorshipHandler.IsVisible(); if (flag11) { this.MentorshipHandler.SetVisible(true); } break; } case TabIndex.Wedding: { bool flag12 = this.m_weddingMainHandler != null && !this.m_weddingMainHandler.IsVisible(); if (flag12) { this.m_weddingMainHandler.SetVisible(true); } break; } case TabIndex.DragonGuild: { bool flag13 = XDragonGuildDocument.Doc.IsInDragonGuild(); if (flag13) { this.m_dragonGuildMainHandler.SetVisible(false); this.m_dragonGuildMainHandler.SetVisible(true); bool flag14 = this.m_dragonGuildListHandler.IsVisible(); if (flag14) { this.m_dragonGuildListHandler.SetVisible(false); } } else { this.m_dragonGuildListHandler.SetVisible(true); bool flag15 = this.m_dragonGuildMainHandler.IsVisible(); if (flag15) { this.m_dragonGuildMainHandler.SetVisible(false); } } break; } } } private XFriendData GenerateFriendInfo(Friend2Client friend2Client) { return new XFriendData { name = friend2Client.name, lastlogin = friend2Client.lastlogin, level = friend2Client.level, powerpoint = friend2Client.powerpoint, profession = friend2Client.profession, roleid = friend2Client.roleid, viplevel = friend2Client.viplevel, audioid = (int)friend2Client.audioid, setid = ((friend2Client.pre != null) ? friend2Client.pre.setid : new List()), online = 0u, degreeDay = friend2Client.daydegree, degreeAll = friend2Client.alldegree, receiveGiftState = friend2Client.receivegiftstate, sendGiftState = friend2Client.sendgiftstate, uid = friend2Client.nickid, titleID = friend2Client.titleid, receiveAll = friend2Client.receiveall, guildname = friend2Client.guildname, receivetime = friend2Client.receivetime, paymemberid = friend2Client.paymemberid, openID = friend2Client.openid, nickName = friend2Client.nickname }; } public bool IsMyFriend(ulong uid) { for (int i = 0; i < this.friendData.Count; i++) { bool flag = this.friendData[i].roleid == uid; if (flag) { return true; } } return false; } public uint GetFriendDegreeAll(ulong uid) { for (int i = 0; i < this.friendData.Count; i++) { bool flag = this.friendData[i].roleid == uid; if (flag) { return this.friendData[i].degreeAll; } } return 0u; } public bool IsBlock(ulong uid) { for (int i = 0; i < this.blockFriendData.Count; i++) { bool flag = this.blockFriendData[i].roleid == uid; if (flag) { return true; } } return false; } public void RefreshFriendList(bool reset = false) { bool flag = !base.IsVisible(); if (!flag) { int num = this._SetTabNumLabel(this.m_CurrentTabIndex); base.uiBehaviour.FriendListWrapContent.SetContentCount(num, false); if (reset) { base.uiBehaviour.FriendListScrollView.ResetPosition(); } } } public void SetTencentImage(IXUITexture texture) { bool flag = texture == null; if (!flag) { texture.gameObject.SetActive(false); } } public void RandomFriend() { RpcC2M_RandomFriendWaitListNew rpc = new RpcC2M_RandomFriendWaitListNew(); XSingleton.singleton.Send(rpc); } public void RandomFriendRes(RandomFriendWaitListRes waitList) { bool flag = DlgBase.singleton.IsVisible(); if (flag) { DlgBase.singleton.OnRefreshRandomFriend(waitList); } else { DlgBase.singleton.ShowBoard(waitList); } } private bool DoAddBlockFriendByID(IXUIButton btn) { RpcC2M_AddBlackListNew rpcC2M_AddBlackListNew = new RpcC2M_AddBlackListNew(); rpcC2M_AddBlackListNew.oArg.otherroleid = btn.ID; XSingleton.singleton.Send(rpcC2M_AddBlackListNew); bool flag = this.OnAddBlockSucc != null; if (flag) { this.OnAddBlockSucc(); } XSingleton.singleton.CloseModalDlg(); return true; } private bool DoAddBlockFriendByName(IXUIButton btn) { RpcC2M_AddBlackListNew rpcC2M_AddBlackListNew = new RpcC2M_AddBlackListNew(); rpcC2M_AddBlackListNew.oArg.name = btn.gameObject.name; XSingleton.singleton.Send(rpcC2M_AddBlackListNew); XSingleton.singleton.CloseModalDlg(); return true; } public void AddBlockFriend(ulong uid) { bool flag = uid == XSingleton.singleton.XPlayerData.RoleID; if (flag) { XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("FRIENDS_CAN_NOT_BAN_SELF"), "fece00"); } else { bool flag2 = this.GetBlockFriendDataById(uid) != null; if (flag2) { XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("FRIENDS_ALREADY_BAN"), "fece00"); } else { DlgBase.singleton.Load(); DlgBase.singleton.uiBehaviour.m_OKButton.ID = uid; XFriendData friendDataById = this.GetFriendDataById(uid); bool flag3 = friendDataById != null; if (flag3) { XSingleton.singleton.ShowModalDialog(XStringDefineProxy.GetString("FRIENDS_BLOCK", new object[] { friendDataById.name }), XStringDefineProxy.GetString("COMMON_OK"), XStringDefineProxy.GetString("COMMON_CANCEL"), new ButtonClickEventHandler(this.DoAddBlockFriendByID)); } else { this.DoAddBlockFriendByID(DlgBase.singleton.uiBehaviour.m_OKButton); } } } } public void AddBlockFriend(string name) { bool flag = name == XSingleton.singleton.XPlayerData.Name; if (flag) { XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("FRIENDS_CAN_NOT_BAN_SELF"), "fece00"); } else { bool flag2 = this.GetBlockFriendDataByName(name) != null; if (flag2) { XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("FRIENDS_ALREADY_BAN"), "fece00"); } else { DlgBase.singleton.Load(); DlgBase.singleton.uiBehaviour.m_OKButton.gameObject.name = name; XFriendData friendDataByName = this.GetFriendDataByName(name); bool flag3 = friendDataByName != null; if (flag3) { XSingleton.singleton.ShowModalDialog(XStringDefineProxy.GetString("FRIENDS_BLOCK", new object[] { friendDataByName.name }), XStringDefineProxy.GetString("COMMON_OK"), XStringDefineProxy.GetString("COMMON_CANCEL"), new ButtonClickEventHandler(this.DoAddBlockFriendByName)); } else { this.DoAddBlockFriendByName(DlgBase.singleton.uiBehaviour.m_OKButton); } } } } public void AddBlockFriendRes(Friend2Client black) { XFriendData item = this.GenerateFriendInfo(black); this.blockFriendData.Add(item); XSingleton.singleton.ShowSystemTip(string.Format(XStringDefineProxy.GetString("FRIENDS_BAN_SUCC"), black.name), "fece00"); DlgBase.singleton.ChatDoc.RemoveFriend(black.roleid); for (int i = 0; i < this.friendData.Count; i++) { bool flag = this.friendData[i].roleid == black.roleid; if (flag) { this.friendData.RemoveAt(i); break; } } this.RefreshUI(); } public void RefreshBlockFriendData(BlackListNtf blacklist) { this.blockFriendData.Clear(); for (int i = 0; i < blacklist.blacklist.Count; i++) { Friend2Client friend2Client = blacklist.blacklist[i]; XFriendData item = this.GenerateFriendInfo(friend2Client); this.blockFriendData.Add(item); } } public void RefreshUI() { this.RefreshFriendList(false); } public void RemoveBlockFriend(ulong uid) { RpcC2M_RemoveBlackListNew rpcC2M_RemoveBlackListNew = new RpcC2M_RemoveBlackListNew(); rpcC2M_RemoveBlackListNew.oArg.otherroleid = uid; XSingleton.singleton.Send(rpcC2M_RemoveBlackListNew); } public void RemoveBlockFriendRes(ErrorCode code, ulong roleid) { bool flag = code == ErrorCode.ERR_SUCCESS; if (flag) { for (int i = 0; i < this.blockFriendData.Count; i++) { bool flag2 = this.blockFriendData[i].roleid == roleid; if (flag2) { XSingleton.singleton.ShowSystemTip(string.Format(XStringDefineProxy.GetString("FRIENDS_DIS_BAN"), this.blockFriendData[i].name), "fece00"); this.blockFriendData.RemoveAt(i); break; } } this.RefreshFriendList(false); } } public override void StackRefresh() { this.RefreshUI(); bool flag = this.m_CurrentTabIndex == TabIndex.Mentorship; if (flag) { XMentorshipDocument.Doc.SendMentorshipInfoReq(); } } private void _UpdateFriendSendGiftUI(Transform t, XFriendData friendInfo) { bool flag = friendInfo.degreeDay > XSingleton.singleton.SendGiftMinDegree; if (flag) { friendInfo.degreeDay = XSingleton.singleton.SendGiftMinDegree; } Transform transform = t.Find("send"); Transform transform2 = t.Find("sent"); uint num = (uint)XFastEnumIntEqualityComparer.ToInt(FriendGiftSend.FriendGift_Sended); bool flag2 = friendInfo.sendGiftState == num; if (flag2) { transform2.gameObject.SetActive(true); transform.gameObject.SetActive(false); } else { transform2.gameObject.SetActive(false); transform.gameObject.SetActive(true); IXUIButton ixuibutton = transform.GetComponent("XUIButton") as IXUIButton; ixuibutton.ID = friendInfo.roleid; bool flag3 = friendInfo.degreeDay < XSingleton.singleton.SendGiftMinDegree; if (flag3) { ixuibutton.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnClickSendGiftToFriendNotAvaliable)); } else { ixuibutton.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnClickSendGiftToFriend)); } Transform transform3 = transform.Find("fx"); Transform transform4 = transform.Find("Progress"); Transform transform5 = transform.Find("RedPoint"); IXUILabel ixuilabel = transform.Find("V").GetComponent("XUILabel") as IXUILabel; bool flag4 = friendInfo.degreeDay < XSingleton.singleton.SendGiftMinDegree; if (flag4) { transform3.gameObject.SetActive(false); transform4.gameObject.SetActive(true); transform5.gameObject.SetActive(false); ixuilabel.SetText(string.Format(XSingleton.singleton.CommonCountTotalFmt, friendInfo.degreeDay, XSingleton.singleton.SendGiftMinDegree)); IXUIProgress ixuiprogress = transform4.GetComponent("XUIProgress") as IXUIProgress; ixuiprogress.value = friendInfo.degreeDay / XSingleton.singleton.SendGiftMinDegree; } else { ixuilabel.SetText(string.Empty); transform3.gameObject.SetActive(true); transform4.gameObject.SetActive(false); transform5.gameObject.SetActive(true); } } } private void _UpdateFriendDegreeUI(Transform t, XFriendData data, uint deltaDay, uint deltaAll) { bool flag = !base.IsVisible(); if (!flag) { Transform transform = t.Find("hgd"); bool flag2 = this.m_CurrentTabIndex == TabIndex.ShowFriend; if (flag2) { transform.gameObject.SetActive(true); IXUILabel ixuilabel = transform.Find("Level").GetComponent("XUILabel") as IXUILabel; bool flag3 = data.degreeAll < XSingleton.singleton.MaxFriendlyEvaluation; if (flag3) { ixuilabel.SetText(data.degreeAll.ToString()); } else { ixuilabel.SetText("MAX"); } IXUISprite ixuisprite = ixuilabel.gameObject.transform.Find("Mark").GetComponent("XUISprite") as IXUISprite; float num = data.degreeAll; num /= XSingleton.singleton.MaxFriendlyEvaluation; ixuisprite.SetFillAmount(1f - num); ixuisprite.ID = (ulong)data.degreeAll; ixuisprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnClickDegreeHeart)); bool flag4 = deltaAll > 0u; if (flag4) { Transform transform2 = transform.Find("Add"); transform2.gameObject.SetActive(true); IXUILabel ixuilabel2 = transform2.GetComponent("XUILabel") as IXUILabel; ixuilabel2.SetText(deltaAll.ToString()); bool activeSelf = t.gameObject.activeSelf; if (activeSelf) { IXUITweenTool ixuitweenTool = transform2.GetComponent("XUIPlayTween") as IXUITweenTool; bool flag5 = ixuitweenTool != null; if (flag5) { ixuitweenTool.SetTweenGroup(1); ixuitweenTool.RegisterOnFinishEventHandler(new OnTweenFinishEventHandler(this.OnAddTweenFinishEventHandler)); ixuitweenTool.StopTweenExceptGroup(ixuitweenTool.TweenGroup); ixuitweenTool.PlayTween(true, -1f); } } } } else { transform.gameObject.SetActive(false); } } } public void OnClickDegreeHeart(IXUISprite spr) { XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("FRIENDS_DEGREE_HINT_TEXT_FMT", new object[] { spr.ID }), "fece00"); } public void UpdateFriendOnlineState(Transform trans, uint online, uint lastlogin) { GameObject gameObject = trans.Find("Online").gameObject; gameObject.SetActive(this.m_CurrentTabIndex == TabIndex.ShowFriend && online > 0u); IXUILabel ixuilabel = trans.Find("Offline").GetComponent("XUILabel") as IXUILabel; ixuilabel.SetText(string.Empty); } private void OnAddTweenFinishEventHandler(IXUITweenTool tween) { tween.gameObject.SetActive(false); } private void _RankWrapFriendListUpdated(Transform t, int i) { XPlayerInfoChildView friendListTempView = this.m_FriendListTempView; friendListTempView.FindFrom(t); IXUITexture tencentImage = t.Find("tencent").GetComponent("XUITexture") as IXUITexture; this.SetTencentImage(tencentImage); Transform transform = t.Find("recover"); Transform transform2 = t.Find("send"); Transform transform3 = t.Find("sent"); Transform transform4 = t.Find("chat"); Transform transform5 = t.Find("agree"); Transform transform6 = t.Find("ignore"); Transform transform7 = t.Find("BtnAddFriend"); transform.gameObject.SetActive(TabIndex.BlockFriend == this.m_CurrentTabIndex); transform2.gameObject.SetActive(this.m_CurrentTabIndex == TabIndex.ShowFriend); transform3.gameObject.SetActive(this.m_CurrentTabIndex == TabIndex.ShowFriend); transform4.gameObject.SetActive(this.m_CurrentTabIndex == TabIndex.ShowFriend); transform5.gameObject.SetActive(TabIndex.ApplyFriend == this.m_CurrentTabIndex); transform6.gameObject.SetActive(TabIndex.ApplyFriend == this.m_CurrentTabIndex); transform7.gameObject.SetActive(false); XFriendData xfriendData = null; bool flag = TabIndex.BlockFriend == this.m_CurrentTabIndex; if (flag) { bool flag2 = i >= 0 && i < this.blockFriendData.Count; if (flag2) { xfriendData = this.blockFriendData[i]; IXUIButton ixuibutton = transform.GetComponent("XUIButton") as IXUIButton; ixuibutton.ID = xfriendData.roleid; ixuibutton.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnRemoveBlockFriend)); } } else { bool flag3 = this.m_CurrentTabIndex == TabIndex.ShowFriend; if (flag3) { bool flag4 = i >= 0 && i < this.friendData.Count; if (flag4) { xfriendData = this.friendData[i]; this._UpdateFriendSendGiftUI(t, xfriendData); IXUIButton ixuibutton2 = transform4.Find("btn").GetComponent("XUIButton") as IXUIButton; ixuibutton2.SetVisible(true); ixuibutton2.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnClickChatFriend)); ixuibutton2.ID = xfriendData.roleid; transform7.gameObject.SetActive(XSingleton.singleton.Channel == XAuthorizationChannel.XAuthorization_QQ && !this._doc.IsQQFriend(xfriendData.openID)); IXUIButton ixuibutton3 = transform7.GetComponent("XUIButton") as IXUIButton; ixuibutton3.ID = xfriendData.roleid; ixuibutton3.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnClickAddQQFriends)); } } else { bool flag5 = TabIndex.ApplyFriend == this.m_CurrentTabIndex; if (flag5) { bool flag6 = i >= 0 && i < this.applyData.Count; if (flag6) { xfriendData = this.applyData[i]; IXUIButton ixuibutton4 = transform5.GetComponent("XUIButton") as IXUIButton; ixuibutton4.ID = xfriendData.roleid; ixuibutton4.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnClickAgreeApply)); IXUIButton ixuibutton5 = transform6.GetComponent("XUIButton") as IXUIButton; ixuibutton5.ID = xfriendData.roleid; ixuibutton5.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnClickIgnoreApply)); } } } } bool flag7 = xfriendData == null; if (!flag7) { IXUISprite spr = t.Find("AvatarFrame").GetComponent("XUISprite") as IXUISprite; XSingleton.singleton.ParseHeadIcon(xfriendData.setid, spr); this._UpdateFriendDegreeUI(t, xfriendData, 0u, 0u); IXUISprite ixuisprite = t.GetComponent("XUISprite") as IXUISprite; ixuisprite.ID = xfriendData.roleid; ixuisprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnClickFriendItemPanel)); this.UpdateFriendOnlineState(transform4, xfriendData.online, xfriendData.lastlogin); int profession = (int)xfriendData.profession; IXUISprite ixuisprite2 = t.Find("ProfIcon").GetComponent("XUISprite") as IXUISprite; ixuisprite2.SetSprite(XSingleton.singleton.GetProfIcon(profession)); friendListTempView.uidLab.SetVisible(false); friendListTempView.sprHead.SetSprite(XSingleton.singleton.GetProfHeadIcon2(profession)); friendListTempView.lbName.InputText = XSingleton.singleton.StringCombine(XTitleDocument.GetTitleWithFormat(xfriendData.titleID, xfriendData.name), XWelfareDocument.GetMemberPrivilegeIconString(xfriendData.paymemberid), XRechargeDocument.GetVIPIconString(xfriendData.viplevel)); friendListTempView.lbLevel.SetText(xfriendData.level.ToString()); friendListTempView.lbPPT.SetText(xfriendData.powerpoint.ToString()); friendListTempView.SetGuildName(xfriendData.guildname); xfriendData.friendgo = t.gameObject; } } private bool _CheckHasGiftCanReceive() { this.m_HasGiftCanReceive = false; bool visible = false; uint num = (uint)XFastEnumIntEqualityComparer.ToInt(FriendGiftReceive.FriendGift_Received); uint num2 = (uint)XFastEnumIntEqualityComparer.ToInt(FriendGiftReceive.FriendGift_ReceiveNone); for (int i = 0; i < this.friendData.Count; i++) { bool flag = num == this.friendData[i].receiveGiftState; if (flag) { this.m_HasGiftCanReceive = true; } bool flag2 = num2 != this.friendData[i].receiveGiftState; if (flag2) { visible = true; } } bool flag3 = base.IsVisible(); if (flag3) { bool flag4 = this.m_CurrentTabIndex == TabIndex.ShowFriend; if (flag4) { base.uiBehaviour.btnLeft.SetVisible(visible); } } return this.m_HasGiftCanReceive && XSingleton.singleton.ReceiveGifMaxTimes > 0u && DlgBase.singleton.TodayReceiveCount < XSingleton.singleton.ReceiveGifMaxTimes; } private void RefreshGiftBtnRedPoint() { bool flag = !base.IsVisible(); if (!flag) { bool flag2 = !base.uiBehaviour.btnLeft.IsVisible(); if (!flag2) { IXUISprite ixuisprite = base.uiBehaviour.btnLeft.gameObject.transform.Find("RedPoint").GetComponent("XUISprite") as IXUISprite; bool flag3 = this.m_CurrentTabIndex == TabIndex.ShowFriend; if (flag3) { bool active = this.m_HasGiftCanReceive && XSingleton.singleton.ReceiveGifMaxTimes > 0u && DlgBase.singleton.TodayReceiveCount < XSingleton.singleton.ReceiveGifMaxTimes; ixuisprite.gameObject.SetActive(active); } else { ixuisprite.gameObject.SetActive(false); } } } } public void RefreshDragonGuildPage() { bool flag = (this.m_dragonGuildListHandler != null && this.m_dragonGuildListHandler.IsVisible()) || (this.m_dragonGuildMainHandler != null && this.m_dragonGuildMainHandler.IsVisible()); if (flag) { this._ApplyTabData(TabIndex.DragonGuild); } } public void NoticeFriendShare(string openID, XFriendsView.ShareType tpye) { this.m_noticeFriendOpenID = openID; bool flag = tpye == XFriendsView.ShareType.PK; if (flag) { this.m_title = string.Format(XSingleton.singleton.GetString("PLAT_FRIEND_PK_TITLE"), new object[0]); this.m_description = string.Format(XSingleton.singleton.GetString("PLAT_FRIEND_PK_SUMMARY"), new object[0]); this.m_gameTag = "MSG_SHARE_FRIEND_PVP"; } else { bool flag2 = tpye == XFriendsView.ShareType.Invite; if (!flag2) { return; } this.m_title = string.Format(XSingleton.singleton.GetString("PLAT_FRIEND_INVITE_TITLE"), new object[0]); this.m_description = string.Format(XSingleton.singleton.GetString("PLAT_FRIEND_INVITE_SUMMARY"), new object[0]); this.m_gameTag = "MSG_INVITE"; } string label = ""; bool flag3 = XSingleton.singleton.Channel == XAuthorizationChannel.XAuthorization_QQ; if (flag3) { label = XSingleton.singleton.GetString("FRIEND_SEND_PLAT_FRIEND_TIP_QQ"); } else { bool flag4 = XSingleton.singleton.Channel == XAuthorizationChannel.XAuthorization_WeChat; if (flag4) { label = XSingleton.singleton.GetString("FRIEND_SEND_PLAT_FRIEND_TIP_WX"); } } XSingleton.singleton.ShowModalDialog(label, XStringDefineProxy.GetString("FRIEND_SEND_PLAT_FRIEND_OK2"), XStringDefineProxy.GetString("FRIEND_SEND_PLAT_FRIEND_CANCEL"), new ButtonClickEventHandler(this.OnEnsureNoticeFriendPk)); } private bool OnEnsureNoticeFriendPk(IXUIButton btn) { DlgBase.singleton.SetVisible(false, true); bool flag = XSingleton.singleton.Channel == XAuthorizationChannel.XAuthorization_QQ; if (flag) { this.SharePkToQQFriend(); } else { bool flag2 = XSingleton.singleton.Channel == XAuthorizationChannel.XAuthorization_WeChat; if (flag2) { this.SharePkToWXFriend(); } } return true; } private void SharePkToQQFriend() { Dictionary dictionary = new Dictionary(); dictionary["act"] = 1; dictionary["openId"] = this.m_noticeFriendOpenID; dictionary["title"] = this.m_title; dictionary["summary"] = this.m_description; dictionary["targetUrl"] = string.Format(XSingleton.singleton.GetString("PLAT_FRIEND_PK_TARGET_URLQQ"), new object[0]); dictionary["imageUrl"] = string.Format(XSingleton.singleton.GetString("PLAT_FRIEND_PK_IMAGE_URLQQ"), new object[0]); dictionary["previewText"] = string.Format(XSingleton.singleton.GetString("PLAT_FRIEND_PK_PREVIEW_URLQQ"), new object[0]); dictionary["gameTag"] = this.m_gameTag; string text = Json.Serialize(dictionary); XSingleton.singleton.AddLog("SharePkToQQFriend paramStr = " + text, null, null, null, null, null, XDebugColor.XDebug_None); XSingleton.singleton.XPlatform.SendExtDara("share_send_to_friend_qq", text); } private void SharePkToWXFriend() { Dictionary dictionary = new Dictionary(); dictionary["openId"] = this.m_noticeFriendOpenID; dictionary["title"] = this.m_title; dictionary["description"] = this.m_description; dictionary["thumbMediaId"] = ""; dictionary["mediaTagName"] = this.m_gameTag; dictionary["messageExt"] = "ShareWithWeixin"; string text = Json.Serialize(dictionary); XSingleton.singleton.AddLog("SharePkToWXFriend paramStr = " + text, null, null, null, null, null, XDebugColor.XDebug_None); XSingleton.singleton.XPlatform.SendExtDara("share_send_to_friend_wx", text); } } }