private void OnInvite(InviteData invite) { if (invite.Catalog == InvitesMessage.FRIEND_OPERATE) { return; } }
private void OnAccept(InviteData invite) { if (invite.Catalog == InvitesMessage.FRIEND_OPERATE) { long agreeUid = 0; long.TryParse(invite.OrgnizationId.ToString(), out agreeUid); string agreeName = EB.Dot.String(agreeUid + ".name", invite.Infos, ""); if (agreeUid <= 0) { EB.Debug.LogError("friend agree uid=null"); } if (string.IsNullOrEmpty(agreeName)) { EB.Debug.LogError("friend agree name=null"); } long localUid = AllianceUtil.GetLocalUid(); if (agreeUid != localUid) { MessageTemplateManager.ShowMessage(FriendManager.CodeAcceptFriendInvite, agreeName, null); } //var friendData = MyFriends.Parse(invite.Data,invite.SenderUid); //MyFriends.Add(friendData); //GameDataSparxManager.Instance.SetDirty(MyFriendListId); GetInfo(); return; } }
private void OnCancelListener(InviteData payload) //处理对方取消切磋消息 { if (payload.Catalog != InvitesMessage.INVITE_PK && payload.Catalog != InvitesMessage.INVITE_FRIEDS) { return; } Hashtable data = Johny.HashtablePool.Claim(); Hashtable intact = Johny.HashtablePool.Claim(); intact["invite"] = payload.ToJson(); data["intact"] = intact; PutOneMessage(new PKCancelMessage(data)); }
private void OnRemove(object payload) { if (OnRemoveListener != null) { Hashtable obj = EB.Dot.Object("intact.invite", payload, null); var invite = InviteData.Parse(obj); if (invite == null) { EB.Debug.LogWarning("InvitesManager.OnRemove: parse invite data failed"); } else { OnRemoveListener(invite); } } }
private void OnRemove(InviteData invite) { if (invite.Catalog == InvitesMessage.FRIEND_OPERATE) { //var friend = MyFriends.Find(invite.SenderUid); //if ( friend == null) //{ // EB.Debug.LogError("on remove friend not in my list uid="+invite.SenderUid); // return; //} //MyFriends.Remove(invite.SenderUid); //GameDataSparxManager.Instance.SetDirty(MyFriendListId); GetInfo(); //MarkDirty(RecentlyListId); //MarkDirty(TeamListId); } }
private void OnRequestListener(InviteData payload) { if (payload.Catalog == InvitesMessage.ESCORT_HELP) { long localUid = LoginManager.Instance.LocalUserId.Value; for (var i = 0; i < payload.ReceiverUids.Length; i++) { var receiver = payload.ReceiverUids[i]; if (receiver.Equals(localUid)) { AlliancesManager.Instance.GetHelpApplyInfo(delegate(Hashtable result) { Hashtable list = EB.Dot.Object("escortAndRob.helpApply.list", result, null); HelpOtherBtn.gameObject.SetActive(list.Count > 0); }); break; } } } }
private void OnRequest(InviteData invite) //请求加好友 { if (invite.Catalog == InvitesMessage.FRIEND_OPERATE) { var sender = MyFriends.Find(invite.SenderUid); if (sender != null) { EB.Debug.LogError("already is my friend uid={0}", invite.SenderUid); return; //Applys.Add(sender); } if (invite.SenderUid != AllianceUtil.GetLocalUid() && Applys.Find(invite.SenderUid) == null) { Info.ApplyCount++; Messenger.Raise(Hotfix_LT.EventName.FriendApplyEvent, true); //MarkDirty(ApplyListId); GetApplyList(); } } }
private void OnReject(InviteData invite) { if (invite.Catalog == InvitesMessage.FRIEND_OPERATE) { long rejectUid = 0; long.TryParse(invite.OrgnizationId.ToString(), out rejectUid); string rejectName = EB.Dot.String(rejectUid + ".name", invite.Infos, ""); if (rejectUid <= 0) { EB.Debug.LogError("friend reject uid<=0"); } if (string.IsNullOrEmpty(rejectName)) { EB.Debug.LogError("friend reject name=null"); } long localUid = AllianceUtil.GetLocalUid(); if (rejectUid != localUid) { FriendRejectTarget target = new FriendRejectTarget(); target.Uid = rejectUid; target.Ts = EB.Time.Now; var existTarget = Instance.Info.RejectTargets.Find(m => m.Uid == target.Uid); if (existTarget != null) { EB.Debug.Log("modify rejectTarget"); existTarget.Ts = EB.Time.Now; } else { Instance.Info.RejectTargets.Add(target); } MessageTemplateManager.ShowMessage(FriendManager.CodeRejectFriendInvite, rejectName, null); } return; } }
public static InviteData Parse(Hashtable ht) { if (ht == null) { return(null); } InviteData invite = new InviteData(); invite.Id = EB.Dot.String("_id", ht, invite.Id); string t = EB.Dot.String("t", ht, string.Empty); if (t == "inv") { invite.Type = eType.Invite; } else if (t == "req") { invite.Type = eType.Request; } ArrayList agreeUids = Hotfix_LT.EBCore.Dot.Array("a", ht, Johny.ArrayListPool.Claim()); invite.AgreeUids = new long[agreeUids.Count]; if (agreeUids.Count > 1) { EB.Debug.LogError("agreeUids.Count > 1"); } for (int i = 0; i < agreeUids.Count; ++i) { invite.AgreeUids[i] = long.Parse(agreeUids[i].ToString()); } invite.OpUid = EB.Dot.Long("op_uid", ht, 0); ArrayList receivers = Hotfix_LT.EBCore.Dot.Array("t_uids", ht, Johny.ArrayListPool.Claim()); invite.ReceiverUids = new long[receivers.Count]; for (int i = 0; i < receivers.Count; ++i) { invite.ReceiverUids[i] = long.Parse(receivers[i].ToString()); } Hashtable infos = EB.Dot.Object("t_infos", ht, Johny.HashtablePool.Claim()); invite.Infos = infos; invite.ReceiverNames = new string[receivers.Count]; for (int i = 0; i < receivers.Count; ++i) { string receiveName = EB.Dot.String(receivers[i] + ".name", infos, string.Empty); if (receiveName != string.Empty) { invite.ReceiverNames[i] = receiveName; } else { EB.Debug.LogError("receiveName==null uid={0}", receivers[i]); } } //ArrayList receivernames = Hotfix_LT.EBCore.Dot.Array("t_names", ht, Johny.ArrayListPool.Claim()); // invite.ReceiverNames = new string[receivernames.Count]; // for (int i = 0; i < receivernames.Count; ++i) // { // invite.ReceiverNames[i] = receivernames[i].ToString(); // } invite.SenderName = EB.Dot.String("s_name", ht, invite.SenderName); invite.SenderUid = EB.Dot.Long("s_uid", ht, invite.SenderUid); invite.SendTime = EB.Dot.Double("ts", ht, invite.SendTime); invite.DeadLine = EB.Dot.Double("e", ht, invite.DeadLine); invite.Catalog = EB.Dot.String("c", ht, invite.Catalog); invite.OrgnizationId = Hotfix_LT.EBCore.Dot.Find <object>("o_id", ht); invite.Data = EB.Dot.Object("d", ht, invite.Data); return(invite); }