Exemplo n.º 1
0
        public void AddCharacterInChannel(string channel, string character)
        {
            if (!ChannelsInfo.ContainsKey(channel))
            {
                ChannelsInfo.TryAdd(channel, new ChannelState()
                {
                    Channel = channel
                });
            }

            if (!CharactersInfos.ContainsKey(character))
            {
                CharactersInfos.TryAdd(character, new CharacterState()
                {
                    Character = character
                });
            }

            var chanInfo = ChannelsInfo.GetValueOrDefault(channel);
            var charInfo = chanInfo.CharactersInfo.Find(x => x.Character.ToLower() == character.ToLower());

            if (charInfo == null)
            {
                chanInfo.CharactersInfo.Add(CharactersInfos.GetValueOrDefault(character));
            }
        }
Exemplo n.º 2
0
        public void RemoveCharacterInChannel(string channel, string character)
        {
            var chanInfo = ChannelsInfo.GetValueOrDefault(channel);

            if (chanInfo != null && chanInfo.CharactersInfo.Any(x => x.Character.ToLower() == character.ToLower()))
            {
                chanInfo.CharactersInfo.RemoveAll(x => x.Character.ToLower() == character.ToLower());
            }
        }
Exemplo n.º 3
0
        public List <CharacterState> GetAllCharactersInChannel(string channel)
        {
            var chanInfo = ChannelsInfo.GetValueOrDefault(channel);

            if (chanInfo != null)
            {
                return(chanInfo.CharactersInfo);
            }
            else
            {
                return(new List <CharacterState>());
            }
        }