-
Notifications
You must be signed in to change notification settings - Fork 1
/
Configs.cs
106 lines (84 loc) · 3.12 KB
/
Configs.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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
using System.ComponentModel;
using Terraria.ModLoader.Config;
namespace BossAssist
{
[Label("User Interface Configuration")]
public class ClientConfiguration : ModConfig
{
public override ConfigScope Mode => ConfigScope.ClientSide;
private int DespawnState;
[Header("[i:149] [c/ffeb6e:Boss Log UI]")]
[DefaultValue(false)]
[Label("Reset Records Option")]
[Tooltip("Allows you to reset you records for bosses by right-clicking the boss's icon")]
public bool ResetRecordsBool { get; set; }
[DefaultValue(true)]
[Label("Check Next Boss")]
[Tooltip("Puts a circle in the checkbox to indicate it is the next undefeated boss to fight")]
public bool DrawNextMark { get; set; }
[DefaultValue(true)]
[Label("Colored Boss Text")]
[Tooltip("The boss text in the table of contents will be green when defeated and red when not.\nIf next check is enabled, the next boss will be yellow.")]
public bool ColoredBossText { get; set; }
[DefaultValue(true)]
[Label("Boss Silhouettes")]
[Tooltip("Masks the images of bosses when they have not been defeated.")]
public bool BossSilhouettes { get; set; }
// Somehow auto default this to false if checkmark type is strikethrough?
[DrawTicks]
[Label("Checklist Markings Type")]
[OptionStrings(new string[] { "✓ and ☐", "✓ and X", "X and ☐", "Strike-through" })]
[DefaultValue("✓ and ☐")]
public string SelectedCheckmarkType { get; set; }
[Header("[i:3037] [c/ffeb6e:Despawn Messages]")]
[DefaultValue(true)]
[Label("Pillar Defeated Messages")]
[Tooltip("The Lunar Pillars will send defeated messages in chat")]
public bool PillarMessages { get; set; }
[DefaultValue(false)]
[Label("Segment Defeated Messages")]
[Tooltip("Multi-segmented bosses will send messages when a segment is defeated")]
public bool LimbMessages { get; set; }
[DefaultValue(true)]
[Label("Boss Victory Messages: Custom")]
public bool CDespawnBool
{
get { return DespawnState == 0; }
set { if (value) DespawnState = 0; }
}
[DefaultValue(false)]
[Label("Boss Victory Messages: Generic")]
public bool GDespawnBool
{
get { return DespawnState == 1; }
set { if (value) DespawnState = 1; }
}
[DefaultValue(false)]
[Label("Boss Victory Messages: None")]
public bool ODespawnBool
{
get { return DespawnState == 2; }
set { if (value) DespawnState = 2; }
}
[Header("[i:893] [c/ffeb6e:Item Map Detection]")]
[DefaultValue(true)]
[Label("Fragments display on map")]
public bool FragmentsBool { get; set; }
[DefaultValue(false)]
[Label("Shadow Scales and Tissue Samples display on map")]
public bool ScalesBool { get; set; }
[Header("[i:3084] [c/ffeb6e:Boss Radar]")]
[DefaultValue(true)]
[Label("Boss Radar")]
[Tooltip("If disabled, the configs below have no effect")]
public bool BossRadarBool { get; set; }
public override void OnLoaded()
{
BossAssist.ClientConfig = this;
}
public override bool AcceptClientChanges(ModConfig pendingConfig, int whoAmI, ref string message)
{
return true;
}
}
}