Skip to content

Commit c80f045

Browse files
authored
chore: enum cleanup (AscensionGameDev#2018)
* chore: remove StatCount * chore: remove VitalCount * chore: minor direction cleanup
1 parent 9dc9388 commit c80f045

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+538
-534
lines changed

Intersect (Core)/Configuration/ClientConfiguration.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public static ClientConfiguration LoadAndSave(string? filePath = default)
4242

4343
public static List<DisplayDirection> DEFAULT_ENTITY_BAR_DIRECTIONS =>
4444
Enumerable
45-
.Range(0, 1 + (int)Vital.VitalCount)
45+
.Range(0, Enum.GetValues<Vital>().Length)
4646
.Select(_ => DisplayDirection.StartToEnd)
4747
.ToList();
4848

@@ -229,7 +229,7 @@ public void Validate()
229229
[JsonProperty(ObjectCreationHandling = ObjectCreationHandling.Replace)]
230230
public List<DisplayDirection> EntityBarDirections { get; set; } =
231231
Enumerable
232-
.Range(0, 1 + (int)Vital.VitalCount)
232+
.Range(0, 1 + Enum.GetValues<Vital>().Length)
233233
.Select(_ => DisplayDirection.StartToEnd)
234234
.ToList();
235235

Lines changed: 31 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,43 @@
1-
using System;
1+
namespace Intersect.Enums;
22

3-
namespace Intersect.Enums
3+
public enum Direction
44
{
5-
public enum Direction
6-
{
7-
None = -1,
5+
None = -1,
86

9-
Up,
7+
Up,
108

11-
Down,
9+
Down,
1210

13-
Left,
11+
Left,
1412

15-
Right,
13+
Right,
1614

17-
UpLeft,
15+
UpLeft,
1816

19-
UpRight,
17+
UpRight,
2018

21-
DownRight,
19+
DownRight,
2220

23-
DownLeft,
24-
}
21+
DownLeft,
22+
}
2523

26-
public static class DirectionExtensions
27-
{
28-
public static Direction GetOpposite(this Direction direction)
24+
public static class DirectionExtensions
25+
{
26+
public static Direction GetOpposite(this Direction direction) =>
27+
direction switch
2928
{
30-
switch (direction)
31-
{
32-
case Direction.None: return Direction.None;
33-
case Direction.Up: return Direction.Down;
34-
case Direction.Down: return Direction.Up;
35-
case Direction.Left: return Direction.Right;
36-
case Direction.Right: return Direction.Left;
37-
case Direction.UpLeft: return Direction.DownRight;
38-
case Direction.UpRight: return Direction.DownLeft;
39-
case Direction.DownRight: return Direction.UpLeft;
40-
case Direction.DownLeft: return Direction.UpRight;
41-
default: throw new ArgumentOutOfRangeException(nameof(direction), direction, null);
42-
}
43-
}
44-
45-
public static bool IsOppositeOf(this Direction direction, Direction otherDirection) =>
46-
otherDirection == direction.GetOpposite();
47-
}
48-
}
29+
Direction.None => Direction.None,
30+
Direction.Up => Direction.Down,
31+
Direction.Down => Direction.Up,
32+
Direction.Left => Direction.Right,
33+
Direction.Right => Direction.Left,
34+
Direction.UpLeft => Direction.DownRight,
35+
Direction.UpRight => Direction.DownLeft,
36+
Direction.DownRight => Direction.UpLeft,
37+
Direction.DownLeft => Direction.UpRight,
38+
_ => throw new ArgumentOutOfRangeException(nameof(direction), direction, $"Invalid {nameof(Direction)}"),
39+
};
40+
41+
public static bool IsOppositeOf(this Direction direction, Direction otherDirection) =>
42+
otherDirection == direction.GetOpposite();
43+
}

Intersect (Core)/Enums/Stat.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,5 @@ public enum Stat
1111
MagicResist,
1212

1313
Speed,
14-
15-
StatCount,
1614
}
1715
}

Intersect (Core)/Enums/Vital.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,5 @@ public enum Vital
55
Health = 0,
66

77
Mana,
8-
9-
VitalCount,
108
}
119
}

Intersect (Core)/GameObjects/ClassBase.cs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ public partial class ClassBase : DatabaseObject<ClassBase>, IFolderable
1919
public const long DEFAULT_EXPERIENCE_INCREASE = 50;
2020

2121
[NotMapped]
22-
public int[] BaseStat = new int[(int)Stat.StatCount];
22+
public int[] BaseStat = new int[Enum.GetValues<Stat>().Length];
2323

2424
[NotMapped]
25-
public int[] BaseVital = new int[(int)Vital.VitalCount];
25+
public int[] BaseVital = new int[Enum.GetValues<Vital>().Length];
2626

2727
[NotMapped]
2828
public Dictionary<int, long> ExperienceOverrides = new Dictionary<int, long>();
@@ -43,13 +43,13 @@ public partial class ClassBase : DatabaseObject<ClassBase>, IFolderable
4343
public List<ClassSprite> Sprites = new List<ClassSprite>();
4444

4545
[NotMapped]
46-
public int[] StatIncrease = new int[(int)Stat.StatCount];
46+
public int[] StatIncrease = new int[Enum.GetValues<Stat>().Length];
4747

4848
[NotMapped]
49-
public int[] VitalIncrease = new int[(int)Vital.VitalCount];
49+
public int[] VitalIncrease = new int[Enum.GetValues<Vital>().Length];
5050

5151
[NotMapped]
52-
public int[] VitalRegen = new int[(int)Vital.VitalCount];
52+
public int[] VitalRegen = new int[Enum.GetValues<Vital>().Length];
5353

5454
[JsonConstructor]
5555
public ClassBase(Guid id) : base(id)
@@ -162,17 +162,17 @@ public MapBase SpawnMap
162162
[JsonIgnore]
163163
public string JsonBaseStats
164164
{
165-
get => DatabaseUtils.SaveIntArray(BaseStat, (int) Stat.StatCount);
166-
set => BaseStat = DatabaseUtils.LoadIntArray(value, (int) Stat.StatCount);
165+
get => DatabaseUtils.SaveIntArray(BaseStat, Enum.GetValues<Stat>().Length);
166+
set => BaseStat = DatabaseUtils.LoadIntArray(value, Enum.GetValues<Stat>().Length);
167167
}
168168

169169
//Base Vitals
170170
[Column("BaseVitals")]
171171
[JsonIgnore]
172172
public string JsonBaseVitals
173173
{
174-
get => DatabaseUtils.SaveIntArray(BaseVital, (int) Vital.VitalCount);
175-
set => BaseVital = DatabaseUtils.LoadIntArray(value, (int) Vital.VitalCount);
174+
get => DatabaseUtils.SaveIntArray(BaseVital, Enum.GetValues<Vital>().Length);
175+
set => BaseVital = DatabaseUtils.LoadIntArray(value, Enum.GetValues<Vital>().Length);
176176
}
177177

178178
//Starting Items
@@ -207,26 +207,26 @@ public string JsonSprites
207207
[Column("StatIncreases")]
208208
public string StatIncreaseJson
209209
{
210-
get => DatabaseUtils.SaveIntArray(StatIncrease, (int) Stat.StatCount);
211-
set => StatIncrease = DatabaseUtils.LoadIntArray(value, (int) Stat.StatCount);
210+
get => DatabaseUtils.SaveIntArray(StatIncrease, Enum.GetValues<Stat>().Length);
211+
set => StatIncrease = DatabaseUtils.LoadIntArray(value, Enum.GetValues<Stat>().Length);
212212
}
213213

214214
//Vital Increases (per level0
215215
[JsonIgnore]
216216
[Column("VitalIncreases")]
217217
public string VitalIncreaseJson
218218
{
219-
get => DatabaseUtils.SaveIntArray(VitalIncrease, (int) Vital.VitalCount);
220-
set => VitalIncrease = DatabaseUtils.LoadIntArray(value, (int) Vital.VitalCount);
219+
get => DatabaseUtils.SaveIntArray(VitalIncrease, Enum.GetValues<Vital>().Length);
220+
set => VitalIncrease = DatabaseUtils.LoadIntArray(value, Enum.GetValues<Vital>().Length);
221221
}
222222

223223
//Vital Regen %
224224
[JsonIgnore]
225225
[Column("VitalRegen")]
226226
public string RegenJson
227227
{
228-
get => DatabaseUtils.SaveIntArray(VitalRegen, (int) Vital.VitalCount);
229-
set => VitalRegen = DatabaseUtils.LoadIntArray(value, (int) Vital.VitalCount);
228+
get => DatabaseUtils.SaveIntArray(VitalRegen, Enum.GetValues<Vital>().Length);
229+
set => VitalRegen = DatabaseUtils.LoadIntArray(value, Enum.GetValues<Vital>().Length);
230230
}
231231

232232
[JsonIgnore]

Intersect (Core)/GameObjects/ItemBase.cs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -261,8 +261,8 @@ public ProjectileBase Projectile
261261
[JsonIgnore]
262262
public string VitalsJson
263263
{
264-
get => DatabaseUtils.SaveIntArray(VitalsGiven, (int) Vital.VitalCount);
265-
set => VitalsGiven = DatabaseUtils.LoadIntArray(value, (int) Vital.VitalCount);
264+
get => DatabaseUtils.SaveIntArray(VitalsGiven, Enum.GetValues<Vital>().Length);
265+
set => VitalsGiven = DatabaseUtils.LoadIntArray(value, Enum.GetValues<Vital>().Length);
266266
}
267267

268268
[NotMapped]
@@ -272,8 +272,8 @@ public string VitalsJson
272272
[JsonIgnore]
273273
public string VitalsRegenJson
274274
{
275-
get => DatabaseUtils.SaveIntArray(VitalsRegen, (int) Vital.VitalCount);
276-
set => VitalsRegen = DatabaseUtils.LoadIntArray(value, (int) Vital.VitalCount);
275+
get => DatabaseUtils.SaveIntArray(VitalsRegen, Enum.GetValues<Vital>().Length);
276+
set => VitalsRegen = DatabaseUtils.LoadIntArray(value, Enum.GetValues<Vital>().Length);
277277
}
278278

279279
[NotMapped]
@@ -283,8 +283,8 @@ public string VitalsRegenJson
283283
[JsonIgnore]
284284
public string PercentageVitalsJson
285285
{
286-
get => DatabaseUtils.SaveIntArray(PercentageVitalsGiven, (int) Vital.VitalCount);
287-
set => PercentageVitalsGiven = DatabaseUtils.LoadIntArray(value, (int) Vital.VitalCount);
286+
get => DatabaseUtils.SaveIntArray(PercentageVitalsGiven, Enum.GetValues<Vital>().Length);
287+
set => PercentageVitalsGiven = DatabaseUtils.LoadIntArray(value, Enum.GetValues<Vital>().Length);
288288
}
289289

290290
[NotMapped]
@@ -294,8 +294,8 @@ public string PercentageVitalsJson
294294
[JsonIgnore]
295295
public string StatsJson
296296
{
297-
get => DatabaseUtils.SaveIntArray(StatsGiven, (int) Stat.StatCount);
298-
set => StatsGiven = DatabaseUtils.LoadIntArray(value, (int) Stat.StatCount);
297+
get => DatabaseUtils.SaveIntArray(StatsGiven, Enum.GetValues<Stat>().Length);
298+
set => StatsGiven = DatabaseUtils.LoadIntArray(value, Enum.GetValues<Stat>().Length);
299299
}
300300

301301
[NotMapped]
@@ -305,8 +305,8 @@ public string StatsJson
305305
[JsonIgnore]
306306
public string PercentageStatsJson
307307
{
308-
get => DatabaseUtils.SaveIntArray(PercentageStatsGiven, (int) Stat.StatCount);
309-
set => PercentageStatsGiven = DatabaseUtils.LoadIntArray(value, (int) Stat.StatCount);
308+
get => DatabaseUtils.SaveIntArray(PercentageStatsGiven, Enum.GetValues<Stat>().Length);
309+
set => PercentageStatsGiven = DatabaseUtils.LoadIntArray(value, Enum.GetValues<Stat>().Length);
310310
}
311311

312312
[NotMapped]
@@ -385,11 +385,11 @@ private void Initialize()
385385
{
386386
Name = "New Item";
387387
Speed = 10; // Set to 10 by default.
388-
StatsGiven = new int[(int) Stat.StatCount];
389-
PercentageStatsGiven = new int[(int) Stat.StatCount];
390-
VitalsGiven = new int[(int) Vital.VitalCount];
391-
VitalsRegen = new int[(int) Vital.VitalCount];
392-
PercentageVitalsGiven = new int[(int) Vital.VitalCount];
388+
StatsGiven = new int[Enum.GetValues<Stat>().Length];
389+
PercentageStatsGiven = new int[Enum.GetValues<Stat>().Length];
390+
VitalsGiven = new int[Enum.GetValues<Vital>().Length];
391+
VitalsRegen = new int[Enum.GetValues<Vital>().Length];
392+
PercentageVitalsGiven = new int[Enum.GetValues<Vital>().Length];
393393
Consumable = new ConsumableData();
394394
Effects = new List<EffectData>();
395395
Color = new Color(255, 255, 255, 255);

Intersect (Core)/GameObjects/NpcBase.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public partial class NpcBase : DatabaseObject<NpcBase>, IFolderable
2121
public List<Drop> Drops = new List<Drop>();
2222

2323
[NotMapped]
24-
public int[] MaxVital = new int[(int)Vital.VitalCount];
24+
public int[] MaxVital = new int[Enum.GetValues<Vital>().Length];
2525

2626
[NotMapped]
2727
public ConditionLists PlayerCanAttackConditions = new ConditionLists();
@@ -30,10 +30,10 @@ public partial class NpcBase : DatabaseObject<NpcBase>, IFolderable
3030
public ConditionLists PlayerFriendConditions = new ConditionLists();
3131

3232
[NotMapped]
33-
public int[] Stats = new int[(int)Enums.Stat.StatCount];
33+
public int[] Stats = new int[Enum.GetValues<Stat>().Length];
3434

3535
[NotMapped]
36-
public int[] VitalRegen = new int[(int)Vital.VitalCount];
36+
public int[] VitalRegen = new int[Enum.GetValues<Vital>().Length];
3737

3838
[NotMapped]
3939
public List<SpellEffect> Immunities = new List<SpellEffect>();
@@ -184,8 +184,8 @@ public string JsonDrops
184184
[JsonIgnore]
185185
public string JsonMaxVital
186186
{
187-
get => DatabaseUtils.SaveIntArray(MaxVital, (int) Vital.VitalCount);
188-
set => DatabaseUtils.LoadIntArray(ref MaxVital, value, (int) Vital.VitalCount);
187+
get => DatabaseUtils.SaveIntArray(MaxVital, Enum.GetValues<Vital>().Length);
188+
set => DatabaseUtils.LoadIntArray(ref MaxVital, value, Enum.GetValues<Vital>().Length);
189189
}
190190

191191
//NPC vs NPC Combat
@@ -237,17 +237,17 @@ public string JsonColor
237237
[JsonIgnore]
238238
public string JsonStat
239239
{
240-
get => DatabaseUtils.SaveIntArray(Stats, (int) Enums.Stat.StatCount);
241-
set => DatabaseUtils.LoadIntArray(ref Stats, value, (int) Enums.Stat.StatCount);
240+
get => DatabaseUtils.SaveIntArray(Stats, Enum.GetValues<Stat>().Length);
241+
set => DatabaseUtils.LoadIntArray(ref Stats, value, Enum.GetValues<Stat>().Length);
242242
}
243243

244244
//Vital Regen %
245245
[JsonIgnore]
246246
[Column("VitalRegen")]
247247
public string RegenJson
248248
{
249-
get => DatabaseUtils.SaveIntArray(VitalRegen, (int) Vital.VitalCount);
250-
set => VitalRegen = DatabaseUtils.LoadIntArray(value, (int) Vital.VitalCount);
249+
get => DatabaseUtils.SaveIntArray(VitalRegen, Enum.GetValues<Vital>().Length);
250+
set => VitalRegen = DatabaseUtils.LoadIntArray(value, Enum.GetValues<Vital>().Length);
251251
}
252252

253253
/// <inheritdoc />

Intersect (Core)/GameObjects/SpellBase.cs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ namespace Intersect.GameObjects
1616
public partial class SpellBase : DatabaseObject<SpellBase>, IFolderable
1717
{
1818
[NotMapped]
19-
public int[] VitalCost = new int[(int) Vital.VitalCount];
19+
public int[] VitalCost = new int[Enum.GetValues<Vital>().Length];
2020

2121
[JsonConstructor]
2222
public SpellBase(Guid id) : base(id)
@@ -134,8 +134,8 @@ public EventBase Event
134134
[JsonIgnore]
135135
public string VitalCostJson
136136
{
137-
get => DatabaseUtils.SaveIntArray(VitalCost, (int) Vital.VitalCount);
138-
set => VitalCost = DatabaseUtils.LoadIntArray(value, (int) Vital.VitalCount);
137+
get => DatabaseUtils.SaveIntArray(VitalCost, Enum.GetValues<Vital>().Length);
138+
set => VitalCost = DatabaseUtils.LoadIntArray(value, Enum.GetValues<Vital>().Length);
139139
}
140140

141141
/// <inheritdoc />
@@ -167,7 +167,7 @@ public static SpellBase[] GetCooldownGroup(string cooldownGroup)
167167
public partial class SpellCombatData
168168
{
169169
[NotMapped]
170-
public int[] VitalDiff = new int[(int) Vital.VitalCount];
170+
public int[] VitalDiff = new int[Enum.GetValues<Vital>().Length];
171171

172172
public int CritChance { get; set; }
173173

@@ -198,33 +198,33 @@ public ProjectileBase Projectile
198198
[JsonIgnore]
199199
public string VitalDiffJson
200200
{
201-
get => DatabaseUtils.SaveIntArray(VitalDiff, (int) Vital.VitalCount);
202-
set => VitalDiff = DatabaseUtils.LoadIntArray(value, (int) Vital.VitalCount);
201+
get => DatabaseUtils.SaveIntArray(VitalDiff, Enum.GetValues<Vital>().Length);
202+
set => VitalDiff = DatabaseUtils.LoadIntArray(value, Enum.GetValues<Vital>().Length);
203203
}
204204

205205
//Buff/Debuff Data
206206
[Column("StatDiff")]
207207
[JsonIgnore]
208208
public string StatDiffJson
209209
{
210-
get => DatabaseUtils.SaveIntArray(StatDiff, (int) Stat.StatCount);
211-
set => StatDiff = DatabaseUtils.LoadIntArray(value, (int) Stat.StatCount);
210+
get => DatabaseUtils.SaveIntArray(StatDiff, Enum.GetValues<Stat>().Length);
211+
set => StatDiff = DatabaseUtils.LoadIntArray(value, Enum.GetValues<Stat>().Length);
212212
}
213213

214214
[NotMapped]
215-
public int[] StatDiff { get; set; } = new int[(int) Stat.StatCount];
215+
public int[] StatDiff { get; set; } = new int[Enum.GetValues<Stat>().Length];
216216

217217
//Buff/Debuff Data
218218
[Column("PercentageStatDiff")]
219219
[JsonIgnore]
220220
public string PercentageStatDiffJson
221221
{
222-
get => DatabaseUtils.SaveIntArray(PercentageStatDiff, (int) Stat.StatCount);
223-
set => PercentageStatDiff = DatabaseUtils.LoadIntArray(value, (int) Stat.StatCount);
222+
get => DatabaseUtils.SaveIntArray(PercentageStatDiff, Enum.GetValues<Stat>().Length);
223+
set => PercentageStatDiff = DatabaseUtils.LoadIntArray(value, Enum.GetValues<Stat>().Length);
224224
}
225225

226226
[NotMapped]
227-
public int[] PercentageStatDiff { get; set; } = new int[(int) Stat.StatCount];
227+
public int[] PercentageStatDiff { get; set; } = new int[Enum.GetValues<Stat>().Length];
228228

229229
public int Scaling { get; set; } = 0;
230230

0 commit comments

Comments
 (0)