PalacePal/Pal.Client/Windows/AgreementWindow.cs

85 lines
2.7 KiB
C#
Raw Normal View History

using Dalamud.Interface.Colors;
using Dalamud.Interface.Windowing;
using ECommons;
using ImGuiNET;
using System.Numerics;
2023-02-10 19:48:14 +00:00
using Pal.Client.Properties;
2022-10-26 18:43:24 +00:00
namespace Pal.Client.Windows
{
internal class AgreementWindow : Window, ILanguageChanged
{
private const string WindowId = "###PalPalaceAgreement";
private int _choice;
public AgreementWindow() : base(WindowId)
{
2023-02-11 23:41:48 +00:00
LanguageChanged();
Flags = ImGuiWindowFlags.NoCollapse;
Size = new Vector2(500, 500);
SizeCondition = ImGuiCond.FirstUseEver;
PositionCondition = ImGuiCond.FirstUseEver;
Position = new Vector2(310, 310);
SizeConstraints = new WindowSizeConstraints
{
MinimumSize = new Vector2(500, 500),
MaximumSize = new Vector2(2000, 2000),
};
}
public void LanguageChanged()
=> WindowName = $"{Localization.Palace_Pal}{WindowId}";
public override void OnOpen()
{
_choice = -1;
}
public override void Draw()
{
var config = Service.Configuration;
2023-02-10 19:48:14 +00:00
ImGui.TextWrapped(Localization.Explanation_1);
ImGui.TextWrapped(Localization.Explanation_2);
ImGui.Spacing();
2023-02-10 19:48:14 +00:00
ImGui.TextWrapped(Localization.Explanation_3);
ImGui.TextWrapped(Localization.Explanation_4);
2022-10-26 18:43:24 +00:00
2023-02-10 19:48:14 +00:00
ImGui.RadioButton(Localization.Config_UploadMyDiscoveries_ShowOtherTraps, ref _choice, (int)Configuration.EMode.Online);
ImGui.RadioButton(Localization.Config_NeverUploadDiscoveries_ShowMyTraps, ref _choice, (int)Configuration.EMode.Offline);
2022-10-26 18:43:24 +00:00
ImGui.Separator();
ImGui.PushStyleColor(ImGuiCol.Text, ImGuiColors.DalamudRed);
ImGui.TextWrapped(Localization.Agreement_Warning1);
ImGui.TextWrapped(Localization.Agreement_Warning2);
ImGui.TextWrapped(Localization.Agreement_Warning3);
ImGui.PopStyleColor();
ImGui.Separator();
if (_choice == -1)
2023-02-10 19:48:14 +00:00
ImGui.TextDisabled(Localization.Agreement_PickOneOption);
ImGui.BeginDisabled(_choice == -1);
2023-02-10 19:48:14 +00:00
if (ImGui.Button(Localization.Agreement_UsingThisOnMyOwnRisk))
{
config.Mode = (Configuration.EMode)_choice;
config.FirstUse = false;
config.Save();
IsOpen = false;
}
ImGui.EndDisabled();
ImGui.Separator();
2023-02-10 19:48:14 +00:00
if (ImGui.Button(Localization.Agreement_ViewPluginAndServerSourceCode))
GenericHelpers.ShellStart("https://github.com/carvelli/PalPalace");
}
}
}