Пример #1
0
        public void SetConfiguration(IPluginConfiguration config)
        {
            if (config == null)
            {
                throw new ArgumentNullException(nameof(config));
            }

            Config = config.GetConfiguration <ClueConfiguration>();

            var maxCode = 1;
            var digits  = Config.Digits;

            while (digits > 0)
            {
                maxCode *= 10;
                digits--;
            }
            MaxCode = maxCode - 1;

            foreach (var signDefinition in Config.SignDefinitions)
            {
                if (signDefinition.Code > MaxCode)
                {
                    throw new PluginConfigurationIncorrectException($"Code {signDefinition.Code} is too large. Should be less than {MaxCode}");
                }
                if (UsedCodes.Contains(signDefinition.Code))
                {
                    throw new PluginConfigurationIncorrectException($"Code {signDefinition.Code} is duplicated");
                }
                UsedCodes.Add(signDefinition.Code);
            }
        }
Пример #2
0
        public void SetConfiguration(IPluginConfiguration config)
        {
            if (config == null)
            {
                throw new ArgumentNullException(nameof(config));
            }

            Config = config.GetConfiguration <ClueConfiguration>();
        }
Пример #3
0
 public void SetConfiguration(IPluginConfiguration pluginConfiguration)
 {
     ParsedConfig = pluginConfiguration.GetConfiguration <PlayerCardConfiguration>();
     ProjectName  = pluginConfiguration.ProjectName;
 }
Пример #4
0
 public void SetConfiguration(IPluginConfiguration config) => Config = config.GetConfiguration <string>();