C#:
// #define TESTING
#define EDITING_MODE
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using Facepunch;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using Oxide.Core;
using Oxide.Core.Libraries.Covalence;
using Oxide.Core.Plugins;
using Oxide.Game.Rust.Cui;
using Oxide.Plugins.DailyRewardsExtensionMethods;
using Rust;
using UnityEngine;
using Color = UnityEngine.Color;
using Random = UnityEngine.Random;
#if CARBON
using Carbon.Base;
using Carbon.Modules;
#endif
namespace Oxide.Plugins
{
[Info("Daily Rewards", "Mevent", "1.1.5")]
public class DailyRewards : RustPlugin
{
#region Fields
[PluginReference] private Plugin
AFKAPI = null,
ImageLibrary = null,
WipeBlock = null,
NoEscape = null,
Notify = null,
UINotify = null,
LangAPI = null;
private static DailyRewards _instance;
#if CARBON
private ImageDatabaseModule imageDatabase;
#endif
private bool _enabledImageLibrary;
private const bool LangRu = false;
private const string
Layer = "UI.DailyRewards",
MainLayer = "UI.DailyRewards.Main",
ModalLayer = "UI.DailyRewards.Modal",
ModalMainLayer = "UI.DailyRewards.Modal.Main",
SecondModalLayer = "UI.DailyRewards.Second.Modal",
SecondModalMainLayer = "UI.DailyRewards.Second.Modal.Main",
SelectItemModalLayer = "UI.DailyRewards.Select.Item.Modal",
CMD_Main_Console = "UI_DailyRewards",
PERM_EDIT = "dailyrewards.edit";
private TimeZoneInfo _pluginTimeZone;
private Dictionary<int, AwardInfo> _awardsByID = new();
#endregion
#region Config
private static Configuration _config;
private class Configuration
{
[JsonProperty(PropertyName = LangRu ? "Команды" : "Commands",
ObjectCreationHandling = ObjectCreationHandling.Replace)]
public string[] Commands = {"rewards", "daily"};
[JsonProperty(PropertyName = LangRu ? "Включить работу с Notify?" : "Work with Notify?")]
public bool UseNotify = true;
[JsonProperty(PropertyName = LangRu ? "Включить работу с LangAPI?" : "Work with LangAPI?")]
public bool UseLangAPI = true;
[JsonProperty(PropertyName = LangRu ? "Вайпать при новом сохранении карты" : "Wipe on new map save")]
public bool WipeOnNewSave = false;
[JsonProperty(PropertyName = LangRu ? "Настройка задержки" : "Cooldown Settings")]
public CooldownSettings Cooldown = new()
{
Enabled = true,
DefaultCooldown = 3600,
Cooldowns = new Dictionary<string, float>
{
["dailyrewards.vip"] = 3100,
["dailyrewards.premium"] = 2600
},
CheckAFK = false
};
[JsonProperty(PropertyName = LangRu ? "Ежедневные награды" : "Daily awards",
ObjectCreationHandling = ObjectCreationHandling.Replace)]
public SortedDictionary<int, AwardDayInfo> DailyAwards = new()
{
[1] = new AwardDayInfo
{
Enabled = true,
Image = "https://i.ibb.co/7Gs1yFn/image.png",
Title = "GUNS",
Awards = new List<AwardInfo>
{
AwardInfo.CreateItem("pistol.revolver"),
AwardInfo.CreateItem("ammo.pistol", 64)
},
IsSpecialDay = false
},
[2] = new AwardDayInfo
{
Enabled = true,
Image = "https://i.ibb.co/RhL03Qn/image.png",
Title = "GUNS",
Awards = new List<AwardInfo>
{
AwardInfo.CreateItem("pistol.m92"),
AwardInfo.CreateItem("ammo.pistol", 128)
},
IsSpecialDay = false
},
[3] = new AwardDayInfo
{
Enabled = true,
Image = "https://i.ibb.co/1ZFQKS7/image.png",
Title = "GUNS",
Awards = new List<AwardInfo>
{
AwardInfo.CreateItem("rifle.semiauto"),
AwardInfo.CreateItem("ammo.rifle", 64)
},
IsSpecialDay = false
},
[4] = new AwardDayInfo
{
Enabled = true,
Image = "https://i.ibb.co/5BNXFPZ/image.png",
Title = "GUNS",
Awards = new List<AwardInfo>
{
AwardInfo.CreateItem("rifle.m39"),
AwardInfo.CreateItem("ammo.rifle", 128)
},
IsSpecialDay = false
},
[5] = new AwardDayInfo
{
Enabled = true,
Image = "https://i.ibb.co/Cbz55sP/image.png",
Title = "GUNS",
Awards = new List<AwardInfo>
{
AwardInfo.CreateItem("rifle.ak"),
AwardInfo.CreateItem("ammo.rifle", 128),
AwardInfo.CreateItem("ammo.rifle", 128)
},
IsSpecialDay = false
},
[6] = new AwardDayInfo
{
Enabled = true,
Image = "https://i.ibb.co/NZnjSFz/kuyura.png",
Title = "CASH",
Awards = new List<AwardInfo>
{
AwardInfo.CreateCommand("deposit %steamid% 100", 1, "https://i.ibb.co/NZnjSFz/kuyura.png")
},
IsSpecialDay = false
},
[7] = new AwardDayInfo
{
Enabled = true,
Image = "https://i.ibb.co/NZnjSFz/kuyura.png",
Title = "CASH",
Awards = new List<AwardInfo>
{
AwardInfo.CreateCommand("deposit %steamid% 1000", 1, "https://i.ibb.co/NZnjSFz/kuyura.png")
},
IsSpecialDay = true
}
};
[JsonProperty(PropertyName = LangRu ? "Настройки инвентаря" : "Inventory settings")]
public InventorySettings Inventory = new()
{
Enabled = true,
RetainItemsOnWipe = true,
UseCooldownAfterWipe = false,
CooldownAfterWipe = 0,
UseBuildingBlocked = false,
UseCombatBlocked = false,
UseRaidBlocked = false
};
[JsonProperty(PropertyName =
LangRu ? "Разрешение (прим: dailyrewards.use)" : "Permission (ex: dailyrewards.use)")]
public string Permission = "dailyrewards.use";
[JsonProperty(PropertyName = LangRu ? "Настройки сброса дня" : "Daily reset settings")]
public ResetSettings Reset = new()
{
TimeZone = "Europe/London",
Time = "05:00"
};
[JsonProperty(PropertyName = LangRu ? "Настройки оповещений" : "Notification settings")]
public NotificationsSettings Notifications = new()
{
OnCooldownEnded = new NotificationsSettings.CooldownEnded
{
Type = 2130354,
ShowOnPlayerConnected = false,
ShowOnCooldownEnded = false
},
HasCooldown = new NotificationsSettings.CooldownHas
{
Type = 2130355,
ShowOnPlayerConnected = false
},
PickedUpDailyReward = new NotificationsSettings.TakedDay
{
Type = 2130356,
ShowOnPlayerPickedUpReward = true
}
};
[JsonProperty(PropertyName =
LangRu
? "Показывать интерфейс с наградами когда игрок подключился к серверу?"
: "Show UI with rewards when player connects to server?")]
public bool ShowUIWhenPlayerConnected = false;
[JsonProperty(PropertyName = LangRu ? "Настройки UI" : "UI settings")]
public InterfaceSettings UI = InterfaceSettings.GenerateFullscreenTemplate();
[JsonProperty(PropertyName = LangRu ? "Настройки UI в меню" : "Menu UI settings")]
public InterfaceSettings MenuUI = InterfaceSettings.GenerateMenuTemplateV2();
public VersionNumber Version;
#region Helpers
public AwardDayInfo GetDailyAwards(int day)
{
return DailyAwards.GetValueOrDefault(day);
}
#endregion
}
private abstract class Switchable
{
[JsonProperty(PropertyName = LangRu ? "Включено" : "Enabled")]
public bool Enabled;
}
private class NotificationsSettings
{
[JsonProperty(PropertyName = LangRu ? "При окончании задержки" : "On Cooldown Ended")]
public CooldownEnded OnCooldownEnded;
[JsonProperty(PropertyName = LangRu ? "При наличии задержки" : "Has Cooldown")]
public CooldownHas HasCooldown;
[JsonProperty(PropertyName = LangRu ? "При получении ежедневной награды" : "Picked up daily reward")]
public TakedDay PickedUpDailyReward;
public class TakedDay
{
[JsonProperty(PropertyName = LangRu ? "Тип" : "Type")]
public int Type;
[JsonProperty(PropertyName =
LangRu
? "Показывать когда игрок забрал ежедневную награду?"
: "Show when the player has picked up the daily reward?")]
public bool ShowOnPlayerPickedUpReward;
public void Show(BasePlayer player)
{
_instance.SendNotify(player, NotifyTakedAward, Type);
}
}
public class CooldownEnded
{
[JsonProperty(PropertyName = LangRu ? "Тип" : "Type")]
public int Type;
[JsonProperty(PropertyName =
LangRu
? "Показывать при подключении игрока к серверу?"
: "Show when a player has connected to the server?")]
public bool ShowOnPlayerConnected;
[JsonProperty(PropertyName =
LangRu ? "Показывать при окончании задержки?" : "Show when the cooldown is over?")]
public bool ShowOnCooldownEnded;
public void Show(BasePlayer player)
{
_instance.SendNotify(player, NotifyCooldownEnded, Type);
}
}
public class CooldownHas
{
[JsonProperty(PropertyName = LangRu ? "Тип" : "Type")]
public int Type;
[JsonProperty(PropertyName =
LangRu
? "Показывать при подключении игрока к серверу?"
: "Show when a player has connected to the server?")]
public bool ShowOnPlayerConnected;
public void Show(BasePlayer player, string leftTime)
{
_instance.SendNotify(player, NotifyHasCooldown, Type, leftTime);
}
}
}
private class InterfaceSettings
{
#region Fields
[JsonProperty(PropertyName = LangRu? "Ширина награды" : "Award Width")]
public float AwardWidth;
[JsonProperty(PropertyName = LangRu? "Высота награды" : "Award Height")]
public float AwardHeight;
[JsonProperty(PropertyName = LangRu? "Отступ по X между наградами" : "Award Indent (X)")]
public float AwardIndentX;
[JsonProperty(PropertyName = LangRu? "Количество наград на линии" : "Awards On Line")]
public int AwardsOnLine;
[JsonProperty(PropertyName = LangRu ? "Отступ сверху" : "Up Indent")]
public float UpIndent;
[JsonProperty(PropertyName = LangRu ? "Цвет доступного дня" : "Available Day Color")]
public IColor AvaiableDayColor;
[JsonProperty(PropertyName = LangRu ? "Фон" : "Background")]
public BackgroundSettings Background;
[JsonProperty(PropertyName = LangRu ? "Изображение при отсутствии награды" : "No Award Image")]
public string NoAwardImage;
[JsonProperty(PropertyName = LangRu ? "Цвет заблокированного дня" : "Blocked Day Color")]
public IColor BlockedDayColor;
[JsonProperty(PropertyName =
LangRu ? "Цвет заблокированного дня с задержкой" : "Blocked With Cooldown Day Color")]
public IColor BlockedWithCooldownDayColor;
[JsonProperty(PropertyName = LangRu ? "Изображение кнопки Назад" : "Button Back Image")]
public string ButtonBackImage;
[JsonProperty(PropertyName = LangRu ? "Изображение кнопки Вперёд" : "Button Next Image")]
public string ButtonNextImage;
[JsonProperty(PropertyName = LangRu ? "Изображение иконки редактирования" : "Edit Image")]
public string EditImage;
[JsonProperty(PropertyName = LangRu ? "Цвет особого дня" : "Special Day Color")]
public IColor SpecialDayColor;
[JsonProperty(PropertyName =
LangRu ? "Изображение особого дня на финальном дне" : "Special day Image for the final day")]
public string SpecialDayImageForFinalDay;
[JsonProperty(PropertyName = LangRu ? "Цвет полосы прогресса" : "Progress Bar Color")]
public IColor ProgressBarColor;
[JsonProperty(PropertyName = LangRu ? "Изображение иконки Rust" : "Rust Icon Image")]
public string RustIconImage;
[JsonProperty(PropertyName = LangRu ? "Изображение секретного дня" : "Secret Day Image")]
public string SecretDayImage;
[JsonProperty(PropertyName = LangRu ? "Изображение иконки выбора предмета" : "Select Item Image")]
public string SelectItemImage;
[JsonProperty(PropertyName =
LangRu ? "Показывать изображение на секретном дне?" : "Show image on secret day?")]
public bool ShowImageOnSecretDay;
[JsonProperty(PropertyName = LangRu ? "Цвет полученного дня" : "Taked Day Color")]
public IColor TakedDayColor;
[JsonProperty(PropertyName =
LangRu
? "Использовать цвет для полностью заполненной полосы прогресса"
: "Use color for a fully filled progress bar?")]
public bool UseFullyFilledProgressBarColor;
[JsonProperty(PropertyName =
LangRu ? "Цвет полностью заполненной полосы прогресса" : "Fully Filled Progress Bar Color")]
public IColor FullyFilledProgressBarColor;
[JsonProperty(PropertyName =
LangRu ? "Использовать цвет для особого дня?" : "Use color for the special day?")]
public bool UseSpecialDayColor;
[JsonProperty(PropertyName = LangRu ? "Основная панель" : "Main Panel")]
public ImageSettings ContentPanel;
[JsonProperty(PropertyName = LangRu ? "Заголовок плагина" : "Plugin title")]
public TextSettings TitlePlugin;
[JsonProperty(PropertyName = LangRu ? "Описание плагина" : "Plugin description")]
public TextSettings DescriptionPlugin;
[JsonProperty(PropertyName = LangRu? "Показать линию?" : "Show line?")]
public bool ShowLine;
[JsonProperty(PropertyName = LangRu? "Линия" : "Line")]
public ImageSettings HeaderLine = new();
[JsonProperty(PropertyName = LangRu ? "Кнопка инвентаря" : "Inventory button")]
public ButtonSettings InventoryButton;
[JsonProperty(PropertyName = LangRu ? "Кнопка закрытия" : "Close button")]
public ButtonSettings CloseButton;
[JsonProperty(PropertyName = LangRu ? "Кнопка настроек" : "Settings button")]
public ImageSettings SettingsButton;
[JsonProperty(PropertyName = LangRu ? "Кнопка Назад (активная)" : "Back page button (active)")]
public ButtonSettings PageButtonBackWhenActive;
[JsonProperty(PropertyName = LangRu ? "Кнопка Назад (неактивная)" : "Back page button (inactive)")]
public ButtonSettings PageButtonBackWhenInactive;
[JsonProperty(PropertyName = LangRu ? "Кнопка Вперёд (активная)" : "Next page button (active)")]
public ButtonSettings PageButtonNextWhenActive;
[JsonProperty(PropertyName = LangRu ? "Кнопка Вперёд (неактивная)" : "Next page button (inactive)")]
public ButtonSettings PageButtonNextWhenInactive;
[JsonProperty(PropertyName = LangRu ? "Фон полосы прогресса" : "Progress bar background")]
public ImageSettings ProgressBarBackground;
[JsonProperty(PropertyName = LangRu ? "Панель задержки" : "Cooldown panel")]
public ImageSettings CooldownPanel;
[JsonProperty(PropertyName = LangRu ? "Заголовок задержки" : "Cooldown title")]
public TextSettings CooldownTitle;
[JsonProperty(PropertyName = LangRu ? "Панель оставшихся дней" : "Left Days panel")]
public ImageSettings LeftDaysPanel;
[JsonProperty(PropertyName = LangRu ? "Заголовок оставшихся дней" : "Left Days title")]
public TextSettings LeftDaysTitle;
[JsonProperty(PropertyName = LangRu ? "Количество оставшихся дней" : "Left Days amount")]
public TextSettings LeftDaysAmount;
[JsonProperty(PropertyName =
LangRu ? "[Информация о награде] Кнопка Назад (активная)" : "[Award Info] Back page button (active)")]
public ButtonSettings AwardInfoPageButtonBackWhenActive;
[JsonProperty(PropertyName =
LangRu
? "[Информация о награде] Кнопка Назад (неактивная)"
: "[Award Info] Back page button (inactive)")]
public ButtonSettings AwardInfoPageButtonBackWhenInactive;
[JsonProperty(PropertyName =
LangRu ? "[Информация о награде] Кнопка Вперёд (активная)" : "[Award Info] Next page button (active)")]
public ButtonSettings AwardInfoPageButtonNextWhenActive;
[JsonProperty(PropertyName =
LangRu
? "[Информация о награде] Кнопка Вперёд (неактивная)"
: "[Award Info] Next page button (inactive)")]
public ButtonSettings AwardInfoPageButtonNextWhenInactive;
[JsonProperty(PropertyName =
LangRu ? "[Информация о награде] Количество страниц" : "[Award Info] Pages amount")]
public TextSettings AwardInfoPagesNumber;
[JsonProperty(PropertyName =
LangRu ? "[Информация о награде] Кнопка закрытия" : "[Award Info] Close button")]
public ButtonSettings AwardInfoCloseButton;
[JsonProperty(PropertyName = LangRu ? "[Информация о награде] Заголовок" : "[Award Info] Title")]
public TextSettings AwardInfoTitle;
[JsonProperty(PropertyName = LangRu ? "[Информация о награде] Панель" : "[Award Info] Panel")]
public ImageSettings AwardInfoPanel;
[JsonProperty(PropertyName =
LangRu
? "[Информация о награде] Панель (в режиме редактирования)"
: "[Award Info] Panel (in editing mode)")]
public ImageSettings AwardInfoPanelInEditing;
[JsonProperty(PropertyName =
LangRu ? "[Информация о награде] Цвет фона предмета" : "[Award Info] Item background color")]
public IColor AwardInfoItemBackgroundColor;
[JsonProperty(PropertyName = LangRu ? "Настройка инвентаря" : "Inventory settings")]
public InventoryUI Inventory = new();
#endregion Fields
#region Classes
public class InventoryUI
{
[JsonProperty(PropertyName = LangRu ? "Заголовок" : "Title")]
public TextSettings Title;
[JsonProperty(PropertyName = LangRu ? "Описание" : "Description")]
public TextSettings Description;
[JsonProperty(PropertyName = LangRu ? "Кнопка Назад" : "Back Button")]
public ButtonSettings ButtonBack;
[JsonProperty(PropertyName = LangRu ? "Кнопка Закрыть" : "Close Button")]
public ButtonSettings ButtonClose;
[JsonProperty(PropertyName = LangRu? "Показать линию?" : "Show line?")]
public bool ShowLine;
[JsonProperty(PropertyName = LangRu? "Линия" : "Line")]
public ImageSettings Line = new();
[JsonProperty(PropertyName = LangRu? "Ширина предмета в инвентаре" : "Inventory Item Width")]
public float InventoryItemWidth;
[JsonProperty(PropertyName = LangRu? "Высота предмета в инвентаре" : "Inventory Item Height")]
public float InventoryItemHeight;
[JsonProperty(PropertyName = LangRu? "Отступ между предметами в инвентаре (X)" : "Inventory Items Margin (X)")]
public float InventoryItemMarginX;
[JsonProperty(PropertyName = LangRu? "Отступ между предметами в инвентаре (Y)" : "Inventory Items Margin (Y)")]
public float InventoryItemMarginY;
[JsonProperty(PropertyName = LangRu? "Количество предметов на строке в инвентаре" : "Inventory Items On Line")]
public int InventoryItemsOnLine;
[JsonProperty(PropertyName = LangRu? "Максимальное количество строк предметов в инвентаре" : "Inventory Max Items Lines")]
public int InventoryMaxItemsLines;
[JsonProperty(PropertyName = LangRu? "Отступ сверху для предметов в инвентаре" : "Top indent for items in inventory")]
public float InventoryItemsTopIndent;
#region Public Methods
public int GetInventoryTotalAmount()
{
return InventoryMaxItemsLines * InventoryItemsOnLine;
}
#endregion
}
#endregion
#region Templates
public static InterfaceSettings GenerateFullscreenTemplate()
{
return new InterfaceSettings
{
AwardWidth = 145,
AwardHeight = 215,
AwardIndentX = 10,
AwardsOnLine = 7,
UpIndent = 15,
Background = new BackgroundSettings
{
AnchorMin = "0 0",
AnchorMax = "1 1",
OffsetMin = "0 0",
OffsetMax = "0 0",
DisplayType = "Overlay",
Sprite = "assets/content/textures/generic/fulltransparent.tga",
Image = "https://i.ibb.co/K6LTT51/image-1.png",
Material = string.Empty,
Color = IColor.Create("#FFFFFF")
},
NoAwardImage = "https://i.ibb.co/sW7csSS/image.png",
ShowImageOnSecretDay = false,
SecretDayImage = "https://i.ibb.co/P4K4HvY/image.png",
EditImage = "https://i.ibb.co/XyJfGSv/image.png",
SelectItemImage = "https://i.ibb.co/pJF7XJN/search.png",
RustIconImage = "https://i.ibb.co/Tbt6ZWS/image.png",
TakedDayColor = IColor.Create("#525557"),
AvaiableDayColor = IColor.Create("#EF5125"),
BlockedDayColor = IColor.Create("#525557"),
BlockedWithCooldownDayColor = IColor.Create("#525557"),
UseSpecialDayColor = false,
ContentPanel = new ImageSettings
{
AnchorMin = "0 0.5", AnchorMax = "1 0.5", OffsetMin = "40 -100", OffsetMax = "-40 115",
Color = IColor.Create("#000000", 0)
},
TitlePlugin = new TextSettings
{
AnchorMin = "0.5 0.5",
AnchorMax = "0.5 0.5",
OffsetMin = "-537.5 160",
OffsetMax = "537.5 225",
Align = TextAnchor.UpperLeft,
IsBold = true,
FontSize = 52,
Color = IColor.Create("#DCDCDC")
},
DescriptionPlugin = new TextSettings
{
AnchorMin = "0.5 0.5",
AnchorMax = "0.5 0.5",
OffsetMin = "-537.5 35",
OffsetMax = "537.5 150",
Align = TextAnchor.UpperLeft,
IsBold = false,
FontSize = 20,
Color = IColor.Create("#FFFFFF",
90)
},
ShowLine = false,
HeaderLine = new ImageSettings(),
InventoryButton = new ButtonSettings
{
AnchorMin = "1 1",
AnchorMax = "1 1",
OffsetMin = "-180 -55",
OffsetMax = "-90 -15",
Align = TextAnchor.MiddleCenter,
IsBold = true,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#EF5125"),
Sprite = string.Empty,
Material = string.Empty,
Image = string.Empty,
ImageColor = IColor.Create("#FFFFFF")
},
CloseButton = new ButtonSettings
{
AnchorMin = "1 1",
AnchorMax = "1 1",
OffsetMin = "-80 -55",
OffsetMax = "-40 -15",
Align = TextAnchor.MiddleCenter,
IsBold = false,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#EF5125"),
Sprite = "assets/icons/close.png",
Material = null,
Image = string.Empty,
ImageColor = IColor.Create("#FFFFFF")
},
SettingsButton = new ImageSettings
{
AnchorMin = "1 1", AnchorMax = "1 1",
OffsetMin = "-225 -55",
OffsetMax = "-185 -15",
Color = IColor.Create("#519229")
},
PageButtonBackWhenActive = new ButtonSettings
{
AnchorMin = "0.5 0.5",
AnchorMax = "0.5 0.5",
OffsetMin = "-590 -135",
OffsetMax = "-560 -105",
Align = TextAnchor.MiddleCenter,
IsBold = false,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#000000",
00),
Sprite = string.Empty,
Material = string.Empty,
Image = "https://i.ibb.co/27g86Sk/image.png",
ImageColor = IColor.Create("#EF5125")
},
PageButtonBackWhenInactive = new ButtonSettings
{
AnchorMin = "0.5 0.5",
AnchorMax = "0.5 0.5",
OffsetMin = "-590 -135",
OffsetMax = "-560 -105",
Align = TextAnchor.MiddleCenter,
IsBold = false,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#000000",
00),
Sprite = string.Empty,
Material = string.Empty,
Image = "https://i.ibb.co/27g86Sk/image.png",
ImageColor = IColor.Create("#FFFFFF",
20)
},
PageButtonNextWhenActive = new ButtonSettings
{
AnchorMin = "0.5 0.5",
AnchorMax = "0.5 0.5",
OffsetMin = "560 -135",
OffsetMax = "590 -105",
Align = TextAnchor.MiddleCenter,
IsBold = false,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#000000",
00),
Sprite = string.Empty,
Material = string.Empty,
Image = "https://i.ibb.co/SPT0vN1/image.png",
ImageColor = IColor.Create("#EF5125")
},
PageButtonNextWhenInactive = new ButtonSettings
{
AnchorMin = "0.5 0.5",
AnchorMax = "0.5 0.5",
OffsetMin = "560 -135",
OffsetMax = "590 -105",
Align = TextAnchor.MiddleCenter,
IsBold = false,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#000000",
00),
Sprite = string.Empty,
Material = string.Empty,
Image = "https://i.ibb.co/SPT0vN1/image.png",
ImageColor = IColor.Create("#FFFFFF",
20)
},
ProgressBarBackground = new ImageSettings
{
AnchorMin = "0.5 0.5",
AnchorMax = "0.5 0.5",
OffsetMin = "-537.5 -255",
OffsetMax = "537.5 -250",
Sprite = string.Empty,
Material = string.Empty,
Image = string.Empty,
Color = IColor.Create("#646668")
},
CooldownPanel = new ImageSettings
{
AnchorMin = "0.5 0.5",
AnchorMax = "0.5 0.5",
OffsetMin = "-100 -305",
OffsetMax = "120 -275",
Color = IColor.Create("#EF5125")
},
CooldownTitle = new TextSettings
{
AnchorMin = "0 0",
AnchorMax = "0 1",
OffsetMin = "-450 0",
OffsetMax = "-10 0",
Align = TextAnchor.MiddleRight,
IsBold = false,
FontSize = 20,
Color = IColor.Create("#FFFFFF",
90)
},
LeftDaysPanel = new ImageSettings
{
AnchorMin = "0.5 0.5",
AnchorMax = "0.5 0.5",
OffsetMin = "495 -300",
OffsetMax = "550 -280",
Color = IColor.Create("#EF5125")
},
LeftDaysTitle = new TextSettings
{
AnchorMin = "0 0",
AnchorMax = "0 1",
OffsetMin = "-200 0",
OffsetMax = "-5 0",
Align = TextAnchor.MiddleRight,
IsBold = true,
FontSize = 16,
Color = IColor.Create("#FFFFFF",
90)
},
LeftDaysAmount = new TextSettings
{
AnchorMin = "0 0",
AnchorMax = "1 1",
OffsetMin = "0 0",
OffsetMax = "0 0",
Align = TextAnchor.MiddleCenter,
IsBold = true,
FontSize = 16,
Color = IColor.Create("#FFFFFF",
90)
},
SpecialDayColor = IColor.Create("#FF9A1E"),
SpecialDayImageForFinalDay = "https://i.ibb.co/Zd1jcwz/image.png",
ButtonBackImage = "https://i.ibb.co/27g86Sk/image.png",
ButtonNextImage = "https://i.ibb.co/SPT0vN1/image.png",
ProgressBarColor = IColor.Create("#EF5125"),
UseFullyFilledProgressBarColor = false,
FullyFilledProgressBarColor = IColor.Create("#FF9A1E"),
AwardInfoPageButtonBackWhenActive = new ButtonSettings
{
AnchorMin = "0 0",
AnchorMax = "0 0",
OffsetMin = "30 120",
OffsetMax = "60 150",
Align = TextAnchor.MiddleCenter,
IsBold = false,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#000000",
00),
Sprite = string.Empty,
Material = string.Empty,
Image = "https://i.ibb.co/27g86Sk/image.png",
ImageColor = IColor.Create("#EF5125")
},
AwardInfoPageButtonBackWhenInactive = new ButtonSettings
{
AnchorMin = "0 0",
AnchorMax = "0 0",
OffsetMin = "30 120",
OffsetMax = "60 150",
Align = TextAnchor.MiddleCenter,
IsBold = false,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#000000",
00),
Sprite = string.Empty,
Material = string.Empty,
Image = "https://i.ibb.co/27g86Sk/image.png",
ImageColor = IColor.Create("#FFFFFF",
20)
},
AwardInfoPageButtonNextWhenActive = new ButtonSettings
{
AnchorMin = "1 0",
AnchorMax = "1 0",
OffsetMin = "-60 120",
OffsetMax = "-30 150",
Align = TextAnchor.MiddleCenter,
IsBold = false,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#000000",
00),
Sprite = string.Empty,
Material = string.Empty,
Image = "https://i.ibb.co/SPT0vN1/image.png",
ImageColor = IColor.Create("#EF5125")
},
AwardInfoPageButtonNextWhenInactive = new ButtonSettings
{
AnchorMin = "1 0",
AnchorMax = "1 0",
OffsetMin = "-60 120",
OffsetMax = "-30 150",
Align = TextAnchor.MiddleCenter,
IsBold = false,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#000000",
00),
Sprite = string.Empty,
Material = string.Empty,
Image = "https://i.ibb.co/SPT0vN1/image.png",
ImageColor = IColor.Create("#FFFFFF",
20)
},
AwardInfoPagesNumber = new TextSettings
{
AnchorMin = "0.5 0",
AnchorMax = "0.5 0",
OffsetMin = "-125 120",
OffsetMax = "125 150",
Align = TextAnchor.MiddleCenter,
IsBold = true,
FontSize = 22,
Color = IColor.Create("#FFFFFF",
40)
},
AwardInfoCloseButton = new ButtonSettings
{
AnchorMin = "0.5 0",
AnchorMax = "0.5 0",
OffsetMin = "-180 30",
OffsetMax = "180 85",
Align = TextAnchor.MiddleCenter,
IsBold = true,
FontSize = 32,
Color = IColor.Create("#FDEDE9"),
ButtonColor = IColor.Create("#519229")
},
AwardInfoTitle = new TextSettings
{
AnchorMin = "0 1",
AnchorMax = "1 1",
OffsetMin = "0 -100",
OffsetMax = "0 0",
Align = TextAnchor.MiddleCenter,
IsBold = true,
FontSize = 36,
Color = IColor.Create("#DCDCDC")
},
AwardInfoPanel = new ImageSettings
{
AnchorMin = "0.5 0.5",
AnchorMax = "0.5 0.5",
OffsetMin = "-210 -317.5",
OffsetMax = "210 317.5",
Color = IColor.Create("#202224")
},
AwardInfoPanelInEditing = new ImageSettings
{
AnchorMin = "0.5 0.5",
AnchorMax = "0.5 0.5",
OffsetMin = "-410 -317.5",
OffsetMax = "10 317.5",
Color = IColor.Create("#202224")
},
AwardInfoItemBackgroundColor = IColor.Create("#38393F"),
Inventory = new InventoryUI
{
Title = new TextSettings
{
AnchorMin = "0.5 0.5",
AnchorMax = "0.5 0.5",
OffsetMin = "-550 160",
OffsetMax = "550 225",
Align = TextAnchor.UpperLeft,
IsBold = true,
FontSize = 52,
Color = IColor.Create("#DCDCDC")
},
Description = new TextSettings
{
AnchorMin = "0.5 0.5",
AnchorMax = "0.5 0.5",
OffsetMin = "-550 35",
OffsetMax = "550 150",
Align = TextAnchor.UpperLeft,
IsBold = true,
FontSize = 20,
Color = IColor.Create("#FFFFFF", 90)
},
ButtonBack = new ButtonSettings
{
AnchorMin = "1 1", AnchorMax = "1 1",
OffsetMin = "-180 -55",
OffsetMax = "-90 -15",
Align = TextAnchor.MiddleCenter,
IsBold = true,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#EF5125")
},
ButtonClose = new ButtonSettings
{
AnchorMin = "1 1", AnchorMax = "1 1",
OffsetMin = "-80 -55",
OffsetMax = "-40 -15",
Color = IColor.Create("#000000", 0),
ButtonColor = IColor.Create("#EF5125"),
Sprite = "assets/icons/close.png"
},
InventoryItemWidth = 120,
InventoryItemHeight = 120,
InventoryItemMarginX = 10,
InventoryItemMarginY = 10,
InventoryItemsOnLine = 8,
InventoryMaxItemsLines = 2,
InventoryItemsTopIndent = 65
}
};
}
public static InterfaceSettings GenerateMenuTemplateV1()
{
return new InterfaceSettings
{
AwardWidth = 145,
AwardHeight = 215,
AwardIndentX = 30,
AwardsOnLine = 7,
UpIndent = -125,
Background = new BackgroundSettings
{
AnchorMin = "0 0",
AnchorMax = "1 1",
OffsetMin = "0 0",
OffsetMax = "0 0",
DisplayType = "Overlay",
Sprite = "assets/content/textures/generic/fulltransparent.tga",
Image = "https://i.ibb.co/K6LTT51/image-1.png",
Material = string.Empty,
Color = IColor.Create("#FFFFFF")
},
NoAwardImage = "https://i.ibb.co/sW7csSS/image.png",
ShowImageOnSecretDay = false,
SecretDayImage = "https://i.ibb.co/P4K4HvY/image.png",
EditImage = "https://i.ibb.co/XyJfGSv/image.png",
SelectItemImage = "https://i.ibb.co/pJF7XJN/search.png",
RustIconImage = "https://i.ibb.co/Tbt6ZWS/image.png",
TakedDayColor = IColor.Create("#525557"),
AvaiableDayColor = IColor.Create("#EF5125"),
BlockedDayColor = IColor.Create("#525557"),
BlockedWithCooldownDayColor = IColor.Create("#525557"),
UseSpecialDayColor = false,
ContentPanel = new ImageSettings
{
AnchorMin = "0 0.5", AnchorMax = "1 0.5", OffsetMin = "40 -140", OffsetMax = "-47 75",
Color = IColor.Create("#000000", 0)
},
TitlePlugin = new TextSettings
{
AnchorMin = "0 1", AnchorMax = "1 1", OffsetMin = "40 -70", OffsetMax = "-45 -20",
Align = TextAnchor.UpperLeft,
IsBold = false,
FontSize = 0,
Color = IColor.Create("#000000", 0)
},
DescriptionPlugin = new TextSettings
{
AnchorMin = "0 1", AnchorMax = "0 1", OffsetMin = "40 -120", OffsetMax = "840 -20",
Align = TextAnchor.MiddleLeft,
IsBold = false,
FontSize = 18,
Color = IColor.Create("#E2DBD3", 90)
},
ShowLine = false,
HeaderLine = new ImageSettings(),
InventoryButton = new ButtonSettings
{
AnchorMin = "1 1", AnchorMax = "1 1", OffsetMin = "-130 -90", OffsetMax = "-40 -50",
Align = TextAnchor.MiddleCenter,
IsBold = true,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#EF5125"),
Sprite = string.Empty,
Material = string.Empty,
Image = string.Empty,
ImageColor = IColor.Create("#FFFFFF")
},
CloseButton = new ButtonSettings(),
SettingsButton = new ImageSettings
{
AnchorMin = "1 1", AnchorMax = "1 1", OffsetMin = "-175 -90", OffsetMax = "-135 -50",
Color = IColor.Create("#519229")
},
PageButtonBackWhenActive = new ButtonSettings
{
AnchorMin = "0 0.5",
AnchorMax = "0 0.5",
OffsetMin = "-30 -40",
OffsetMax = "-10 -15",
Align = TextAnchor.MiddleCenter,
IsBold = false,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#000000", 00),
Sprite = string.Empty,
Material = string.Empty,
Image = "https://i.ibb.co/27g86Sk/image.png",
ImageColor = IColor.Create("#EF5125")
},
PageButtonBackWhenInactive = new ButtonSettings
{
AnchorMin = "0 0.5",
AnchorMax = "0 0.5",
OffsetMin = "-30 -40",
OffsetMax = "-10 -15",
Align = TextAnchor.MiddleCenter,
IsBold = false,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#000000", 00),
Sprite = string.Empty,
Material = string.Empty,
Image = "https://i.ibb.co/27g86Sk/image.png",
ImageColor = IColor.Create("#FFFFFF", 20)
},
PageButtonNextWhenActive = new ButtonSettings
{
AnchorMin = "1 0.5",
AnchorMax = "1 0.5",
OffsetMin = "10 -40",
OffsetMax = "30 -15",
Align = TextAnchor.MiddleCenter,
IsBold = false,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#000000", 00),
Sprite = string.Empty,
Material = string.Empty,
Image = "https://i.ibb.co/SPT0vN1/image.png",
ImageColor = IColor.Create("#EF5125")
},
PageButtonNextWhenInactive = new ButtonSettings
{
AnchorMin = "1 0.5",
AnchorMax = "1 0.5",
OffsetMin = "10 -40",
OffsetMax = "30 -15",
Align = TextAnchor.MiddleCenter,
IsBold = false,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#000000", 00),
Sprite = string.Empty,
Material = string.Empty,
Image = "https://i.ibb.co/SPT0vN1/image.png",
ImageColor = IColor.Create("#FFFFFF", 20)
},
ProgressBarBackground = new ImageSettings
{
AnchorMin = "0 0.5", AnchorMax = "1 0.5", OffsetMin = "40 -190", OffsetMax = "-47 -186",
Color = IColor.Create("#646668")
},
CooldownPanel = new ImageSettings
{
AnchorMin = "0.5 0.5", AnchorMax = "0.5 0.5", OffsetMin = "-112 -250", OffsetMax = "105 -220",
Color = IColor.Create("#EF5125")
},
CooldownTitle = new TextSettings
{
AnchorMin = "0 0",
AnchorMax = "0 1",
OffsetMin = "-450 0",
OffsetMax = "-10 0",
Align = TextAnchor.MiddleRight,
IsBold = false,
FontSize = 20,
Color = IColor.Create("#FFFFFF", 90)
},
LeftDaysPanel = new ImageSettings
{
AnchorMin = "0.5 0.5", AnchorMax = "0.5 0.5", OffsetMin = "340 -250", OffsetMax = "395 -220",
Color = IColor.Create("#EF5125")
},
LeftDaysTitle = new TextSettings
{
AnchorMin = "0 0", AnchorMax = "0 1",
OffsetMin = "-200 0",
OffsetMax = "-5 0",
Align = TextAnchor.MiddleRight,
IsBold = true,
FontSize = 16,
Color = IColor.Create("#FFFFFF", 90)
},
LeftDaysAmount = new TextSettings
{
AnchorMin = "0 0", AnchorMax = "1 1",
OffsetMin = "0 0", OffsetMax = "0 0",
Align = TextAnchor.MiddleCenter,
IsBold = true,
FontSize = 16,
Color = IColor.Create("#FFFFFF", 90)
},
SpecialDayColor = IColor.Create("#FF9A1E"),
SpecialDayImageForFinalDay = "https://i.ibb.co/Zd1jcwz/image.png",
ButtonBackImage = "https://i.ibb.co/27g86Sk/image.png",
ButtonNextImage = "https://i.ibb.co/SPT0vN1/image.png",
ProgressBarColor = IColor.Create("#EF5125"),
UseFullyFilledProgressBarColor = false,
FullyFilledProgressBarColor = IColor.Create("#FF9A1E"),
AwardInfoPageButtonBackWhenActive = new ButtonSettings
{
AnchorMin = "0 0",
AnchorMax = "0 0",
OffsetMin = "30 120",
OffsetMax = "60 150",
Align = TextAnchor.MiddleCenter,
IsBold = false,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#000000", 00),
Sprite = string.Empty,
Material = string.Empty,
Image = "https://i.ibb.co/27g86Sk/image.png",
ImageColor = IColor.Create("#EF5125")
},
AwardInfoPageButtonBackWhenInactive = new ButtonSettings
{
AnchorMin = "0 0",
AnchorMax = "0 0",
OffsetMin = "30 120",
OffsetMax = "60 150",
Align = TextAnchor.MiddleCenter,
IsBold = false,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#000000", 00),
Sprite = string.Empty,
Material = string.Empty,
Image = "https://i.ibb.co/27g86Sk/image.png",
ImageColor = IColor.Create("#FFFFFF", 20)
},
AwardInfoPageButtonNextWhenActive = new ButtonSettings
{
AnchorMin = "1 0",
AnchorMax = "1 0",
OffsetMin = "-60 120",
OffsetMax = "-30 150",
Align = TextAnchor.MiddleCenter,
IsBold = false,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#000000", 00),
Sprite = string.Empty,
Material = string.Empty,
Image = "https://i.ibb.co/SPT0vN1/image.png",
ImageColor = IColor.Create("#EF5125")
},
AwardInfoPageButtonNextWhenInactive = new ButtonSettings
{
AnchorMin = "1 0",
AnchorMax = "1 0",
OffsetMin = "-60 120",
OffsetMax = "-30 150",
Align = TextAnchor.MiddleCenter,
IsBold = false,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#000000", 00),
Sprite = string.Empty,
Material = string.Empty,
Image = "https://i.ibb.co/SPT0vN1/image.png",
ImageColor = IColor.Create("#FFFFFF", 20)
},
AwardInfoPagesNumber = new TextSettings
{
AnchorMin = "0.5 0", AnchorMax = "0.5 0",
OffsetMin = "-125 120",
OffsetMax = "125 150",
Align = TextAnchor.MiddleCenter,
IsBold = true,
FontSize = 22,
Color = IColor.Create("#FFFFFF", 40)
},
AwardInfoCloseButton = new ButtonSettings
{
AnchorMin = "0.5 0",
AnchorMax = "0.5 0",
OffsetMin = "-180 30",
OffsetMax = "180 85",
Align = TextAnchor.MiddleCenter,
IsBold = true,
FontSize = 32,
Color = IColor.Create("#FDEDE9"),
ButtonColor = IColor.Create("#519229")
},
AwardInfoTitle = new TextSettings
{
AnchorMin = "0 1", AnchorMax = "1 1",
OffsetMin = "0 -100",
OffsetMax = "0 0",
Align = TextAnchor.MiddleCenter,
IsBold = true,
FontSize = 36,
Color = IColor.Create("#DCDCDC")
},
AwardInfoPanel = new ImageSettings
{
AnchorMin = "0.5 0.5",
AnchorMax = "0.5 0.5",
OffsetMin = "-210 -317.5",
OffsetMax = "210 317.5",
Color = IColor.Create("#202224")
},
AwardInfoPanelInEditing = new ImageSettings
{
AnchorMin = "0.5 0.5",
AnchorMax = "0.5 0.5",
OffsetMin = "-410 -317.5",
OffsetMax = "10 317.5",
Color = IColor.Create("#202224")
},
AwardInfoItemBackgroundColor = IColor.Create("#38393F"),
Inventory = new InventoryUI
{
Title = new TextSettings
{
AnchorMin = "0 1", AnchorMax = "1 1", OffsetMin = "40 -70", OffsetMax = "-45 -20",
Align = TextAnchor.UpperLeft,
IsBold = false,
FontSize = 0,
Color = IColor.Create("#000000", 0)
},
Description = new TextSettings
{
AnchorMin = "0 1", AnchorMax = "0 1", OffsetMin = "40 -120", OffsetMax = "840 -20",
Align = TextAnchor.MiddleLeft,
IsBold = false,
FontSize = 18,
Color = IColor.Create("#E2DBD3", 90)
},
ShowLine = false,
Line = new(),
ButtonBack = new ButtonSettings
{
AnchorMin = "1 1", AnchorMax = "1 1", OffsetMin = "-130 -90", OffsetMax = "-40 -50",
Align = TextAnchor.MiddleCenter,
IsBold = true,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#EF5125")
},
ButtonClose = new ButtonSettings(),
InventoryItemWidth = 100,
InventoryItemHeight = 100,
InventoryItemMarginX = 8,
InventoryItemMarginY = 8,
InventoryItemsOnLine = 10,
InventoryMaxItemsLines = 3,
InventoryItemsTopIndent = 60
}
};
}
public static InterfaceSettings GenerateMenuTemplateV2()
{
return new InterfaceSettings
{
AwardWidth = 145,
AwardHeight = 215,
AwardIndentX = 32,
AwardsOnLine = 5,
UpIndent = -85,
Background = new BackgroundSettings
{
AnchorMin = "0 0",
AnchorMax = "1 1",
OffsetMin = "0 0",
OffsetMax = "0 0",
DisplayType = "Overlay",
Sprite = "assets/content/textures/generic/fulltransparent.tga",
Image = "https://i.ibb.co/K6LTT51/image-1.png",
Material = string.Empty,
Color = IColor.Create("#FFFFFF")
},
NoAwardImage = "https://i.ibb.co/sW7csSS/image.png",
ShowImageOnSecretDay = false,
SecretDayImage = "https://i.ibb.co/P4K4HvY/image.png",
EditImage = "https://i.ibb.co/XyJfGSv/image.png",
SelectItemImage = "https://i.ibb.co/pJF7XJN/search.png",
RustIconImage = "https://i.ibb.co/Tbt6ZWS/image.png",
TakedDayColor = IColor.Create("#525557"),
AvaiableDayColor = IColor.Create("#EF5125"),
BlockedDayColor = IColor.Create("#525557"),
BlockedWithCooldownDayColor = IColor.Create("#525557"),
UseSpecialDayColor = false,
ContentPanel = new ImageSettings
{
AnchorMin = "0 0.5", AnchorMax = "1 0.5", OffsetMin = "40 -140", OffsetMax = "-47 75",
Color = IColor.Create("#000000", 0)
},
TitlePlugin = new TextSettings
{
AnchorMin = "0 1", AnchorMax = "1 1", OffsetMin = "40 -70", OffsetMax = "-45 -20",
Align = TextAnchor.UpperLeft,
IsBold = true,
FontSize = 32,
Color = IColor.Create("#CF432D", 90)
},
DescriptionPlugin = new TextSettings
{
AnchorMin = "0 1", AnchorMax = "0 1", OffsetMin = "40 -200", OffsetMax = "840 -90",
Align = TextAnchor.MiddleLeft,
IsBold = false,
FontSize = 18,
Color = IColor.Create("#E2DBD3", 90)
},
ShowLine = true,
HeaderLine = new ImageSettings
{
AnchorMin = "0 1", AnchorMax = "1 1", OffsetMin = "40 -71", OffsetMax = "-82 -69",
Color = IColor.Create("#373737", 50)
},
InventoryButton = new ButtonSettings
{
AnchorMin = "0.5 0.5", AnchorMax = "0.5 0.5", OffsetMin = "346 150", OffsetMax = "436 190",
Align = TextAnchor.MiddleCenter,
IsBold = true,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#EF5125"),
Sprite = string.Empty,
Material = string.Empty,
Image = string.Empty,
ImageColor = IColor.Create("#FFFFFF")
},
CloseButton = new ButtonSettings(),
SettingsButton = new ImageSettings
{
AnchorMin = "0.5 0.5", AnchorMax = "0.5 0.5", OffsetMin = "301 150", OffsetMax = "341 190",
Color = IColor.Create("#519229")
},
PageButtonBackWhenActive = new ButtonSettings
{
AnchorMin = "0 0.5",
AnchorMax = "0 0.5",
OffsetMin = "-30 -40",
OffsetMax = "-10 -15",
Align = TextAnchor.MiddleCenter,
IsBold = false,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#000000", 00),
Sprite = string.Empty,
Material = string.Empty,
Image = "https://i.ibb.co/27g86Sk/image.png",
ImageColor = IColor.Create("#EF5125")
},
PageButtonBackWhenInactive = new ButtonSettings
{
AnchorMin = "0 0.5",
AnchorMax = "0 0.5",
OffsetMin = "-30 -40",
OffsetMax = "-10 -15",
Align = TextAnchor.MiddleCenter,
IsBold = false,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#000000", 00),
Sprite = string.Empty,
Material = string.Empty,
Image = "https://i.ibb.co/27g86Sk/image.png",
ImageColor = IColor.Create("#FFFFFF", 20)
},
PageButtonNextWhenActive = new ButtonSettings
{
AnchorMin = "1 0.5",
AnchorMax = "1 0.5",
OffsetMin = "10 -40",
OffsetMax = "30 -15",
Align = TextAnchor.MiddleCenter,
IsBold = false,
FontSize = 14,
Color = IColor.Create("#FFFFFF"),
ButtonColor = IColor.Create("#000000", 00),
Sprite = string.Empty,
Material = string.Empty,
Image = "https://i.ibb.co/SPT0vN1/image.png",
ImageColor = IColor.Create("#EF5125")
},
PageButton
// ... [Code preview truncated due to length. Full source in attached file] ...