Example #1
0
 public void JoinWebMember(GuildChatWebMember member)
 {
     if (this.webMembers.ContainsKey(member.CID))
     {
         this.webMembers.Remove(member.CID);
     }
     this.webMembers.Add(member.CID, member);
 }
Example #2
0
        private void LeaveWebChatMember(HeroesGuildChatRelay server, long cid)
        {
            GuildChatWebMember guildChatWebMember = server[cid];

            if (guildChatWebMember != null)
            {
                this.LeaveChatRoom(guildChatWebMember);
                server.LeaveWebMember(cid);
            }
        }
Example #3
0
        public void KickFromChatRoom(GuildEntity entity, GuildMemberKey key)
        {
            if (this.ChatRelay != null)
            {
                GuildChatWebMember guildChatWebMember = this.ChatRelay[key.CID];
                if (guildChatWebMember != null)
                {
                    Log <GuildService> .Logger.InfoFormat("KickFromChatRoom is called. [ {0} {1} {2} ]", guildChatWebMember.GuildID, guildChatWebMember.CID, guildChatWebMember.Sender);

                    this.ChatRelay.KickMember(guildChatWebMember.GuildID, guildChatWebMember.CID);
                    this.LeaveChatRoom(guildChatWebMember);
                }
            }
        }
Example #4
0
        private void WebChat(HeroesGuildChatRelay server, ChatEventArg arg)
        {
            GuildChatWebMember guildChatWebMember = server[arg.CID];

            if (guildChatWebMember != null)
            {
                IEntity entityByID = base.GetEntityByID(guildChatWebMember.GuildID);
                if (entityByID != null)
                {
                    GuildEntity guildEntity = entityByID.Tag as GuildEntity;
                    if (guildEntity != null && guildEntity.ChatRoom != null)
                    {
                        guildEntity.ChatRoom.OnReceiveChatMessage(guildChatWebMember.CID, guildChatWebMember.Sender, arg.Message, false);
                    }
                }
            }
        }
Example #5
0
        private bool _JoinMember(IGuildChatMember member, bool isWebMember)
        {
            Log <GuildChatRoom> .Logger.InfoFormat("_JoinMember is called. [ {0}, {1}, {2} ]", member.GuildID, member.CID, member.Sender);

            if (this.members.ContainsKey(member.CID))
            {
                Log <GuildChatRoom> .Logger.InfoFormat("_JoinMember is called. [ {0}, {1}, {2} duplicated ]", member.GuildID, member.CID, member.Sender);

                IGuildChatMember   guildChatMember    = this.members[member.CID];
                GuildChatWebMember guildChatWebMember = guildChatMember as GuildChatWebMember;
                bool flag;
                if (!isWebMember)
                {
                    flag = true;
                }
                else
                {
                    if (guildChatWebMember == null)
                    {
                        return(false);
                    }
                    flag = true;
                }
                if (flag)
                {
                    Log <GuildChatRoom> .Logger.InfoFormat("_JoinMember is called. [ {0}, {1}, {2} remove ]", member.GuildID, member.CID, member.Sender);

                    this.members.Remove(member.CID);
                    if (guildChatWebMember != null)
                    {
                        Log <GuildChatRoom> .Logger.InfoFormat("_JoinMember is called. [ {0}, {1}, {2} kicked ]", member.GuildID, member.CID, member.Sender);

                        guildChatWebMember.ChatRelay.KickMember(guildChatWebMember.GuildID, guildChatWebMember.CID);
                    }
                }
            }
            this.BroadCastInfoMessage(member.Sender, true);
            this.members.Add(member.CID, member);
            return(true);
        }
Example #6
0
        private bool DoJoinWebChatMember(GuildEntity entity, HeroesGuildChatRelay server, ChatJoinEventArg arg)
        {
            if (entity != null && entity.ChatRoom != null)
            {
                Log <GuildService> .Logger.InfoFormat("JoinWebChatMember is called. [ {0}, {1}, {2} ]", arg.GuildKey, arg.CID, arg.Sender);

                GuildChatWebMember member = new GuildChatWebMember(arg.CID, arg.GuildKey, arg.Sender, server);
                if (entity.ChatRoom.JoinWebMember(member))
                {
                    string gameMembers = this.GetGameMembers(arg.GuildKey);
                    Log <GuildService> .Logger.InfoFormat("JoinWebChatMember is called. [ {0}, {1}, {2}, {3} ]", new object[]
                    {
                        arg.GuildKey,
                        arg.CID,
                        arg.Sender,
                        gameMembers
                    });

                    server.JoinWebMember(member);
                    return(true);
                }
            }
            return(false);
        }
Example #7
0
        private bool DoSyncWebMember(GuildEntity entity, HeroesGuildChatRelay server, ChatMemberSyncEventArg arg)
        {
            if (entity != null && entity.ChatRoom != null)
            {
                GuildChatRoom chatRoom = entity.ChatRoom;
                chatRoom.LeaveAllMembers(entity.GuildID);
                foreach (KeyValuePair <long, string> keyValuePair in arg.Members)
                {
                    Log <GuildService> .Logger.InfoFormat("DoSyncWebMember is called. [ {0}, {1}, {2} ]", arg.GuildKey, keyValuePair.Key, keyValuePair.Value);

                    GuildChatWebMember guildChatWebMember = new GuildChatWebMember(keyValuePair.Key, arg.GuildKey, keyValuePair.Value, server);
                    if (!chatRoom.JoinWebMember(guildChatWebMember))
                    {
                        this.ChatRelay.KickMember(guildChatWebMember.GuildID, guildChatWebMember.CID);
                    }
                    else
                    {
                        server.JoinWebMember(guildChatWebMember);
                    }
                }
                return(true);
            }
            return(false);
        }
Example #8
0
 public bool JoinWebMember(GuildChatWebMember member)
 {
     return(this._JoinMember(member, true));
 }