コード例 #1
0
ファイル: Chat.cs プロジェクト: Herhangi/HerhangiOT
        public static ChatChannel GetChannelById(ushort channelId)
        {
            ChatChannel channel;

            NormalChannels.TryGetValue(channelId, out channel);
            return(channel);
        }
コード例 #2
0
ファイル: Chat.cs プロジェクト: Herhangi/HerhangiOT
        public static ChatChannel GetChannel(Player player, ushort channelId)
        {
            switch (channelId)
            {
            case Constants.ChatChannelGuild:
                //Guild* guild = player.getGuild(); //TODO: GUILD
                //if (guild) {
                //    auto it = guildChannels.find(guild->getId());
                //    if (it != guildChannels.end()) {
                //        return it->second;
                //    }
                //}
                break;

            case Constants.ChatChannelParty:
                //Party* party = player.getParty(); //TODO: PARTY
                //if (party) {
                //    auto it = partyChannels.find(party);
                //    if (it != partyChannels.end()) {
                //        return it->second;
                //    }
                //}
                break;

            default:
                ChatChannel channel;
                if (NormalChannels.TryGetValue(channelId, out channel))
                {
                    if (!channel.CanJoin(player))
                    {
                        return(null);
                    }
                    return(channel);
                }

                PrivateChatChannel pChannel;
                if (PrivateChannels.TryGetValue(channelId, out pChannel))
                {
                    if (pChannel.IsInvited(player.CharacterId))
                    {
                        return(pChannel);
                    }
                }
                break;
            }
            return(null);
        }