-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathIniFile.cs
More file actions
55 lines (48 loc) · 3.49 KB
/
Copy pathIniFile.cs
File metadata and controls
55 lines (48 loc) · 3.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
using Rage;
using System;
using System.Windows.Forms;
namespace DeleteThatEntity
{
internal static class Settings
{
internal static Keys SELECT_KEY = Keys.Delete;
internal static Keys SELECT_KEY_MODIFIER = Keys.None;
internal static Keys DELETE_KEY = Keys.Delete;
internal static Keys DELETE_KEY_MODIFIER = Keys.None;
internal static Keys CANCEL_KEY = Keys.Back;
internal static Keys CANCEL_KEY_MODIFIER = Keys.None;
internal static ControllerButtons SELECT_BUTTON = ControllerButtons.A;
internal static ControllerButtons DELETE_BUTTON = ControllerButtons.A;
internal static ControllerButtons CANCEL_BUTTON = ControllerButtons.B;
internal static bool CONTROLLER_SELECT_ONLY_WHEN_FREE_AIMING = true;
internal static bool DELETION_CONFIRMATION = true;
internal static void LoadSettings()
{
Game.LogTrivial("Loading plugin settings");
var path = "Plugins/DeleteThatEntity.ini";
var ini = new InitializationFile(path);
ini.Create();
KeysConverter parseKey = new KeysConverter();
SELECT_KEY = (Keys)parseKey.ConvertFromString(ini.ReadString("Key Bindings", "SelectKey", "Delete"));
SELECT_KEY_MODIFIER = (Keys)parseKey.ConvertFromString(ini.ReadString("Key Bindings", "SelectKeyModifier", "None"));
Game.LogTrivial($"- Select key: {(SELECT_KEY_MODIFIER != Keys.None ? $"{SELECT_KEY_MODIFIER} + " : "")}{SELECT_KEY}");
DELETE_KEY = (Keys)parseKey.ConvertFromString(ini.ReadString("Key Bindings", "DeleteKey", "Delete"));
DELETE_KEY_MODIFIER = (Keys)parseKey.ConvertFromString(ini.ReadString("Key Bindings", "DeleteKeyModifier", "None"));
Game.LogTrivial($"- Delete key: {(DELETE_KEY_MODIFIER != Keys.None ? $"{DELETE_KEY_MODIFIER} + " : "")}{DELETE_KEY}");
CANCEL_KEY = (Keys)parseKey.ConvertFromString(ini.ReadString("Key Bindings", "CancelKey", "Delete"));
CANCEL_KEY_MODIFIER = (Keys)parseKey.ConvertFromString(ini.ReadString("Key Bindings", "CancelKeyModifier", "None"));
Game.LogTrivial($"- Cancel key: {(CANCEL_KEY_MODIFIER != Keys.None ? $"{CANCEL_KEY_MODIFIER} + " : "")}{CANCEL_KEY}");
SELECT_BUTTON = Enum.TryParse<ControllerButtons>(ini.ReadString("Controller Buttons", "SelectButton", "A"), true, out var parsedSelectButton) ? parsedSelectButton : SELECT_BUTTON;
Game.LogTrivial($"- Select button: {SELECT_BUTTON}");
DELETE_BUTTON = Enum.TryParse<ControllerButtons>(ini.ReadString("Controller Buttons", "DeleteButton", "A"), true, out var parsedDeleteButton) ? parsedDeleteButton : DELETE_BUTTON;
Game.LogTrivial($"- Delete button: {DELETE_BUTTON}");
CANCEL_BUTTON = Enum.TryParse<ControllerButtons>(ini.ReadString("Controller Buttons", "CancelButton", "B"), true, out var parsedCancelButton) ? parsedCancelButton : CANCEL_BUTTON;
Game.LogTrivial($"- Cancel button: {CANCEL_BUTTON}");
CONTROLLER_SELECT_ONLY_WHEN_FREE_AIMING = ini.ReadBoolean("Controller Buttons", "SelectOnlyWhenFreeAiming", true);
Game.LogTrivial($"- Select only when free aiming: {(CONTROLLER_SELECT_ONLY_WHEN_FREE_AIMING ? "Yes" : "No")}");
DELETION_CONFIRMATION = ini.ReadBoolean("Behavior", "DeletionConfirmation", true);
Game.LogTrivial($"- Deletion confirmation: {(DELETION_CONFIRMATION ? "Yes" : "No")}");
Game.LogTrivial($"Plugin settings loaded.");
}
}
}