public ItemCostGameCurrencyXml(
     [JsonConverter(typeof(StringEnumConverter))]
     [JsonProperty(PropertyName = "type", Required = Required.Always)] GameCurrencyTypeEnum type,
     [JsonProperty(PropertyName = "quantity", Required = Required.Always)] double quantity)
 {
     Type     = type;
     Quantity = quantity;
 }
        public static string ToLocalizedString(this GameCurrencyTypeEnum type, ILanguages languages,
                                               string language = "English")
        {
            switch (type)
            {
            case GameCurrencyTypeEnum.EmpirePoints:
                return
                    ($"{languages["stringtablex"][language][55403].Text}");

            case GameCurrencyTypeEnum.None:
                throw new InvalidOperationException("Invalid GameCurrency");

            default:
                throw new ArgumentOutOfRangeException(nameof(type), type, null);
            }
        }
 public void SetSellCostOverride(GameCurrencyTypeEnum type, double amount)
 {
     SellCostOverride = new ItemCostXml(type, amount);
 }
 public ItemCostXml(GameCurrencyTypeEnum gameCurrency, double quantity)
 {
     CapitalResource = null;
     GameCurrency    = new ItemCostGameCurrencyXml(gameCurrency, quantity);
 }