Esempio n. 1
0
        public void MessageChatReq(ChatSession session, MessageChatReqMessage message)
        {
            switch (message.ChatType)
            {
            case ChatType.Channel:
                session.Player?.Channel?.SendChatMessage(session.Player, message.Message);
                break;

            case ChatType.Club:
                if (session.Player?.Club?.Id > 0)
                {
                    foreach (var member in GameServer.Instance.PlayerManager.Where(p =>
                                                                                   p.Club == session.Player.Club))
                    {
                        member.SendAsync(new MessageChatAckMessage(ChatType.Club,
                                                                   session.Player.Account.Id,
                                                                   session.Player.Account.Nickname, message.Message));
                    }
                }

                break;

            default:
                Logger.ForAccount(session)
                .Warning("Invalid chat type {chatType}", message.ChatType);
                break;
            }
        }
        public void CChatMessageReq(ChatSession session, MessageChatReqMessage message)
        {
            switch (message.ChatType)
            {
            case ChatType.Channel:
                session.Player.Channel.SendChatMessage(session.Player, message.Message);
                break;

            case ChatType.Club:
                if (session.Player.Club != null)
                {
                    var clanmembers = GameServer.Instance.PlayerManager.Where(p =>
                                                                              session.Player.Club.Players.Keys.Contains(p.Account.Id));

                    foreach (var member in clanmembers)
                    {
                        member.ChatSession?.SendAsync(new MessageChatAckMessage(ChatType.Club, session.Player.Account.Id,
                                                                                session.Player.Account.Nickname, message.Message));
                    }
                }
                break;

            default:
                Logger.ForAccount(session)
                .Warning("Invalid chat type {chatType}", message.ChatType);
                break;
            }
        }
        public void CChatMessageReq(ChatSession session, MessageChatReqMessage message)
        {
            switch (message.ChatType)
            {
            case ChatType.Channel:
                session.Player.Channel.SendChatMessage(session.Player, message.Message);
                break;

            case ChatType.Club:
                // ToDo Change this when clans are implemented
                session.SendAsync(new MessageChatAckMessage(ChatType.Club, session.Player.Account.Id, session.Player.Account.Nickname, message.Message));
                break;

            default:
                Logger.ForAccount(session)
                .Warning("Invalid chat type {chatType}", message.ChatType);
                break;
            }
        }