public GamblingConfigService(IConfigSeria serializer, IPubSub pubSub) : base(FilePath, serializer, pubSub, changeKey) { AddParsedProp("currency.name", gs => gs.Currency.Name, ConfigParsers.String, ConfigPrinters.ToString); AddParsedProp("currency.sign", gs => gs.Currency.Sign, ConfigParsers.String, ConfigPrinters.ToString); AddParsedProp("minbet", gs => gs.MinBet, int.TryParse, ConfigPrinters.ToString, val => val >= 0); AddParsedProp("maxbet", gs => gs.MaxBet, int.TryParse, ConfigPrinters.ToString, val => val >= 0); AddParsedProp("gen.min", gs => gs.Generation.MinAmount, int.TryParse, ConfigPrinters.ToString, val => val >= 1); AddParsedProp("gen.max", gs => gs.Generation.MaxAmount, int.TryParse, ConfigPrinters.ToString, val => val >= 1); AddParsedProp("gen.cd", gs => gs.Generation.GenCooldown, int.TryParse, ConfigPrinters.ToString, val => val > 0); AddParsedProp("gen.chance", gs => gs.Generation.Chance, decimal.TryParse, ConfigPrinters.ToString, val => val >= 0 && val <= 1); AddParsedProp("gen.has_pw", gs => gs.Generation.HasPassword, bool.TryParse, ConfigPrinters.ToString); AddParsedProp("bf.multi", gs => gs.BetFlip.Multiplier, decimal.TryParse, ConfigPrinters.ToString, val => val >= 1); AddParsedProp("waifu.min_price", gs => gs.Waifu.MinPrice, int.TryParse, ConfigPrinters.ToString, val => val >= 0); AddParsedProp("waifu.multi.reset", gs => gs.Waifu.Multipliers.WaifuReset, int.TryParse, ConfigPrinters.ToString, val => val >= 0); AddParsedProp("waifu.multi.crush_claim", gs => gs.Waifu.Multipliers.CrushClaim, decimal.TryParse, ConfigPrinters.ToString, val => val >= 0); AddParsedProp("waifu.multi.normal_claim", gs => gs.Waifu.Multipliers.NormalClaim, decimal.TryParse, ConfigPrinters.ToString, val => val > 0); AddParsedProp("waifu.multi.divorce_value", gs => gs.Waifu.Multipliers.DivorceNewValue, decimal.TryParse, ConfigPrinters.ToString, val => val > 0); AddParsedProp("waifu.multi.all_gifts", gs => gs.Waifu.Multipliers.AllGiftPrices, decimal.TryParse, ConfigPrinters.ToString, val => val > 0); AddParsedProp("waifu.multi.gift_effect", gs => gs.Waifu.Multipliers.GiftEffect, decimal.TryParse, ConfigPrinters.ToString, val => val >= 0); AddParsedProp("decay.percent", gs => gs.Decay.Percent, decimal.TryParse, ConfigPrinters.ToString, val => val >= 0 && val <= 1); AddParsedProp("decay.maxdecay", gs => gs.Decay.MaxDecay, int.TryParse, ConfigPrinters.ToString, val => val >= 0); AddParsedProp("decay.threshold", gs => gs.Decay.MinThreshold, int.TryParse, ConfigPrinters.ToString, val => val >= 0); }
public GamesConfigService(IConfigSeria serializer, IPubSub pubSub) : base(FilePath, serializer, pubSub, changeKey) { AddParsedProp("trivia.min_win_req", gs => gs.Trivia.MinimumWinReq, int.TryParse, ConfigPrinters.ToString, val => val > 0); AddParsedProp("trivia.currency_reward", gs => gs.Trivia.CurrencyReward, long.TryParse, ConfigPrinters.ToString, val => val >= 0); }
/// <summary> /// Initialized an instance of <see cref="ConfigServiceBase{TSettings}"/> /// </summary> /// <param name="filePath">Path to the file where the settings are serialized/deserialized to and from</param> /// <param name="serializer">Serializer which will be used</param> /// <param name="pubSub">Pubsub implementation for signaling when settings are updated</param> /// <param name="changeKey">Key used to signal changed event</param> protected ConfigServiceBase(string filePath, IConfigSeria serializer, IPubSub pubSub, TypedKey <TSettings> changeKey) { _filePath = filePath; _serializer = serializer; _pubSub = pubSub; _changeKey = changeKey; Load(); _pubSub.Sub(_changeKey, OnChangePublished); }
public BotConfigService(IConfigSeria serializer, IPubSub pubSub) : base(FilePath, serializer, pubSub, changeKey) { AddParsedProp("color.ok", bs => bs.Color.Ok, Rgba32.TryParseHex, ConfigPrinters.Color); AddParsedProp("color.error", bs => bs.Color.Error, Rgba32.TryParseHex, ConfigPrinters.Color); AddParsedProp("color.pending", bs => bs.Color.Pending, Rgba32.TryParseHex, ConfigPrinters.Color); AddParsedProp("help.text", bs => bs.HelpText, ConfigParsers.String, ConfigPrinters.ToString); AddParsedProp("help.dmtext", bs => bs.DmHelpText, ConfigParsers.String, ConfigPrinters.ToString); AddParsedProp("console.type", bs => bs.ConsoleOutputType, Enum.TryParse, ConfigPrinters.ToString); AddParsedProp("locale", bs => bs.DefaultLocale, ConfigParsers.Culture, ConfigPrinters.Culture); AddParsedProp("prefix", bs => bs.Prefix, ConfigParsers.String, ConfigPrinters.ToString); UpdateColors(); }
public XpConfigService(IConfigSeria serializer, IPubSub pubSub) : base(FilePath, serializer, pubSub, changeKey) { AddParsedProp("txt.cooldown", conf => conf.MessageXpCooldown, int.TryParse, ConfigPrinters.ToString, x => x > 0); AddParsedProp("txt.per_msg", conf => conf.XpPerMessage, int.TryParse, ConfigPrinters.ToString, x => x >= 0); AddParsedProp("txt.per_image", conf => conf.XpFromImage, int.TryParse, ConfigPrinters.ToString, x => x > 0); AddParsedProp("voice.per_minute", conf => conf.VoiceXpPerMinute, double.TryParse, ConfigPrinters.ToString, x => x >= 0); AddParsedProp("voice.max_minutes", conf => conf.VoiceMaxMinutes, int.TryParse, ConfigPrinters.ToString, x => x > 0); Migrate(); }