2021-02-15 14:52:58 -05:00
|
|
|
using System;
|
2021-01-10 10:08:12 -05:00
|
|
|
using System.Collections.Generic;
|
2021-02-15 14:52:58 -05:00
|
|
|
using System.Text.Json.Serialization;
|
2021-01-10 10:08:12 -05:00
|
|
|
|
|
|
|
namespace GoldbergGUI.Core.Models
|
|
|
|
{
|
2021-01-15 11:46:13 -05:00
|
|
|
public class GoldbergGlobalConfiguration
|
|
|
|
{
|
|
|
|
public string AccountName { get; set; }
|
|
|
|
public long UserSteamId { get; set; }
|
|
|
|
public string Language { get; set; }
|
2021-02-15 14:52:58 -05:00
|
|
|
public List<string> CustomBroadcastIps { get; set; }
|
2021-01-15 11:46:13 -05:00
|
|
|
}
|
2021-01-10 10:08:12 -05:00
|
|
|
public class GoldbergConfiguration
|
|
|
|
{
|
|
|
|
public int AppId { get; set; }
|
|
|
|
public List<SteamApp> DlcList { get; set; }
|
2021-02-15 14:52:58 -05:00
|
|
|
|
|
|
|
public List<int> Depots { get; set; }
|
|
|
|
|
|
|
|
public List<int> SubscribedGroups { get; set; }
|
|
|
|
|
|
|
|
public Dictionary<int, string> AppPaths { get; set; }
|
|
|
|
|
|
|
|
public List<Achievement> Achievements { get; set; }
|
|
|
|
|
|
|
|
public List<Item> Items { get; set; }
|
|
|
|
|
|
|
|
public List<Leaderboard> Leaderboards { get; set; }
|
|
|
|
|
|
|
|
public List<Stat> Stats { get; set; }
|
|
|
|
|
|
|
|
// Add controller setting here!
|
2021-01-10 10:08:12 -05:00
|
|
|
public bool Offline { get; set; }
|
|
|
|
public bool DisableNetworking { get; set; }
|
|
|
|
public bool DisableOverlay { get; set; }
|
2021-02-15 14:52:58 -05:00
|
|
|
|
|
|
|
public GoldbergGlobalConfiguration OverwrittenGlobalConfiguration { get; set; }
|
|
|
|
}
|
|
|
|
|
|
|
|
public class Achievement
|
|
|
|
{
|
|
|
|
[JsonPropertyName("description")]
|
|
|
|
public string Description { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("displayName")]
|
|
|
|
public string DisplayName { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("hidden")]
|
|
|
|
public string Hidden { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("icon")]
|
|
|
|
public string Icon { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("icongray")]
|
|
|
|
public string IconGray { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("name")]
|
|
|
|
public string Name { get; set; }
|
|
|
|
}
|
|
|
|
|
|
|
|
public class Item
|
|
|
|
{
|
|
|
|
[JsonPropertyName("Timestamp")]
|
|
|
|
public DateTimeOffset Timestamp { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("modified")]
|
|
|
|
public string Modified { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("date_created")]
|
|
|
|
public string DateCreated { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("type")]
|
|
|
|
public string Type { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("display_type")]
|
|
|
|
public string DisplayType { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("name")]
|
|
|
|
public string Name { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("bundle")]
|
|
|
|
public string Bundle { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("description")]
|
|
|
|
public string Description { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("background_color")]
|
|
|
|
public string BackgroundColor { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("icon_url")]
|
|
|
|
public Uri IconUrl { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("icon_url_large")]
|
|
|
|
public Uri IconUrlLarge { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("name_color")]
|
|
|
|
public string NameColor { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("tradable")]
|
|
|
|
// [JsonConverter(typeof(PurpleParseStringConverter))]
|
|
|
|
public bool Tradable { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("marketable")]
|
|
|
|
// [JsonConverter(typeof(PurpleParseStringConverter))]
|
|
|
|
public bool Marketable { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("commodity")]
|
|
|
|
// [JsonConverter(typeof(PurpleParseStringConverter))]
|
|
|
|
public bool Commodity { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("drop_interval")]
|
|
|
|
// [JsonConverter(typeof(FluffyParseStringConverter))]
|
|
|
|
public long DropInterval { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("drop_max_per_window")]
|
|
|
|
// [JsonConverter(typeof(FluffyParseStringConverter))]
|
|
|
|
public long DropMaxPerWindow { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("workshopid")]
|
|
|
|
// [JsonConverter(typeof(FluffyParseStringConverter))]
|
|
|
|
public long Workshopid { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("tw_unique_to_own")]
|
|
|
|
// [JsonConverter(typeof(PurpleParseStringConverter))]
|
|
|
|
public bool TwUniqueToOwn { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("item_quality")]
|
|
|
|
// [JsonConverter(typeof(FluffyParseStringConverter))]
|
|
|
|
public long ItemQuality { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("tw_price")]
|
|
|
|
public string TwPrice { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("tw_type")]
|
|
|
|
public string TwType { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("tw_client_visible")]
|
|
|
|
// [JsonConverter(typeof(FluffyParseStringConverter))]
|
|
|
|
public long TwClientVisible { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("tw_icon_small")]
|
|
|
|
public string TwIconSmall { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("tw_icon_large")]
|
|
|
|
public string TwIconLarge { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("tw_description")]
|
|
|
|
public string TwDescription { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("tw_client_name")]
|
|
|
|
public string TwClientName { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("tw_client_type")]
|
|
|
|
public string TwClientType { get; set; }
|
|
|
|
|
|
|
|
[JsonPropertyName("tw_rarity")]
|
|
|
|
public string TwRarity { get; set; }
|
|
|
|
}
|
|
|
|
|
|
|
|
public class Leaderboard
|
|
|
|
{
|
|
|
|
public string Name { get; set; }
|
|
|
|
public SortMethod SortMethodSetting { get; set; }
|
|
|
|
public DisplayType DisplayTypeSetting { get; set; }
|
|
|
|
|
|
|
|
public enum SortMethod
|
|
|
|
{
|
|
|
|
None,
|
|
|
|
Ascending,
|
|
|
|
Descending
|
|
|
|
}
|
|
|
|
public enum DisplayType
|
|
|
|
{
|
|
|
|
None,
|
|
|
|
Numeric,
|
|
|
|
TimeSeconds,
|
|
|
|
TimeMilliseconds
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public class Stat
|
|
|
|
{
|
|
|
|
public string Name { get; set; }
|
|
|
|
public StatType StatTypeSetting { get; set; }
|
|
|
|
public string Value { get; set; }
|
|
|
|
|
|
|
|
public enum StatType
|
|
|
|
{
|
|
|
|
Int,
|
|
|
|
Float,
|
|
|
|
AvgRate
|
|
|
|
}
|
2021-01-10 10:08:12 -05:00
|
|
|
}
|
|
|
|
}
|