-
Notifications
You must be signed in to change notification settings - Fork 3
/
LiquidSettings.cs
76 lines (61 loc) · 2.68 KB
/
LiquidSettings.cs
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
using Celeste;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using YamlDotNet.Serialization;
namespace Celeste.Mod.Liquid
{
// If no SettingName is applied, it defaults to
// modoptions_[typename without settings]_title
// The value is then used to look up the UI text in the dialog files.
// If no dialog text can be found, Everest shows a prettified mod name instead.
[SettingName("modoptions_liquidmodule_title")]
public class LiquidSettings : EverestModuleSettings
{
public bool Enabled { get; set; } = true;
public string Dash0Color { get; set; } = "ffffff";
public string Dash1Color { get; set; } = "ffffff";
public string Dash2Color { get; set; } = "ffffff";
[SettingRange(1, 100)]
public int HairLength { get; set; } = 4;
public bool HairCollision { get; set; } = false;
// SettingName also works on props, defaulting to
// modoptions_[typename without settings]_[propname]
//Solid ON / OFF property with a default value.
//public bool SolidSwitch { get; set; } = false;
//[SettingIgnore] // Hide from the options menu, but still load / save it.
//public string SolidHidden { get; set; } = "";
//[SettingRange(0, 10)] // Allow choosing a value from 0 (inclusive) to 10 (inclusive).
//public int SolidSlider { get; set; } = 5;
//[SettingRange(0, 10)]
//[SettingInGame(false)] // Only show this in the main menu.
//public int SolidMainMenuSlider { get; set; } = 5;
//[SettingRange(0, 10)]
//[SettingInGame(true)] // Only show this in the in-game menu.
//public int SolidInGameSlider { get; set; } = 5;
//[YamlIgnore] // Don't load / save it, but show it in the options menu.
//[SettingNeedsRelaunch] // Tell the user to restart for changes to take effect.
//public bool LaunchInDebugMode
//{
// get
// {
// return Settings.Instance.LaunchInDebugMode;
// }
// set
// {
// Settings.Instance.LaunchInDebugMode = value;
// }
//}
//public int SomethingWeird { get; set; } = 42;
//// Custom entry creation methods are always called Create[propname]Entry
//// and offer an alternative to overriding CreateModMenuSection in your module class.
//public void CreateSomethingWeirdEntry(TextMenu menu, bool inGame)
//{
// // Create your own menu entry here.
// // Maybe you want to create a toggle for an int property?
//}
}
}