Exemplo n.º 1
0
        /// <summary>
        /// Get collection of allowed (supported) message tokens
        /// </summary>
        /// <param name="tokenGroups">Collection of token groups; pass null to get all available tokens</param>
        /// <returns>Collection of allowed message tokens</returns>
        public override IEnumerable <string> GetListOfAllowedTokens(IEnumerable <string> tokenGroups = null)
        {
            var additionTokens = new AdditionTokensAddedEvent();

            _eventPublisher.Publish(additionTokens);

            var allowedTokens = AllowedTokens.Where(x => tokenGroups == null || tokenGroups.Contains(x.Key))
                                .SelectMany(x => x.Value).ToList();

            allowedTokens.AddRange(additionTokens.AdditionTokens);

            // add our custom token
            allowedTokens.Add("%Custom.Message.Token.CallForInfo%");

            return(allowedTokens.Distinct());
        }
Exemplo n.º 2
0
        /// <summary>
        /// Zwraca obiekt dozwolonych tokenów - rzeczowniki
        /// 
        /// Jeśli obiekt nie był wcześniej inicjowany, odczytuje dozwolone ID tokenów z pliku.
        /// </summary>
        /// <returns>Obiekt dozwolonych tokenów - rzeczowniki</returns>
        private AllowedTokens<uint> getAllowedNouns()
        {
            if (allowedNouns != null)
                return allowedNouns;

            allowedNouns = new AllowedTokens<uint>();

            using (BinaryReader reader = new BinaryReader(File.OpenRead(workingDir + @"hal\noun.allowed")))
            {
                while (true)
                {
                    try
                    {
                        allowedNouns.add(reader.ReadUInt32());
                    }
                    catch (EndOfStreamException)
                    {
                        break;
                    }
                }
            }

            return allowedNouns;
        }