Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit d9577a1

Browse filesBrowse files
authored
Nullable refactor (#64)
* feat: initial nullable refactor * feat: continued nullable refactor * feat: initial magic numbers removal * feat: refactored all magical numbers * fix: nullable serialization processing * feat: continued work on nullables * feat: continued nullabilty progress * feat: final nullability work * feat: merge fixes
1 parent e9b49ff commit d9577a1
Copy full SHA for d9577a1

71 files changed

+565-513Lines changed: 565 additions & 513 deletions

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Dismiss banner
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎ModiBuff/ModiBuff.Benchmarks/BenchAddModifier.cs‎

Copy file name to clipboardExpand all lines: ModiBuff/ModiBuff.Benchmarks/BenchAddModifier.cs
+5-5Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ public override void GlobalSetup()
2525
_unit = new Unit(1_000_000_000, 5);
2626
_benchmarkUnit = new BenchmarkUnit(1_000_000_000);
2727

28-
_noOpModifierId = IdManager.GetId("NoOpEffect");
29-
_initDamageModifierId = IdManager.GetId("InitDamage");
30-
_initDamageBenchmarkModifierId = IdManager.GetId("BenchmarkInitDamage");
31-
_modifierLessInitDamageEffectId = EffectIdManager.GetId("InitDamage");
32-
_initStackDamageModifierId = IdManager.GetId("InitStackDamage");
28+
_noOpModifierId = IdManager.GetId("NoOpEffect").Value;
29+
_initDamageModifierId = IdManager.GetId("InitDamage").Value;
30+
_initDamageBenchmarkModifierId = IdManager.GetId("BenchmarkInitDamage").Value;
31+
_modifierLessInitDamageEffectId = EffectIdManager.GetId("InitDamage").Value;
32+
_initStackDamageModifierId = IdManager.GetId("InitStackDamage").Value;
3333
}
3434

3535
[Benchmark]
Collapse file

‎ModiBuff/ModiBuff.Benchmarks/BenchInstanceStackable.cs‎

Copy file name to clipboardExpand all lines: ModiBuff/ModiBuff.Benchmarks/BenchInstanceStackable.cs
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ public override void GlobalSetup()
1717
{
1818
base.GlobalSetup();
1919

20-
_instanceStackableDoTModifierId = IdManager.GetId("InstanceStackableDoT");
21-
_instanceStackableInitDamageId = IdManager.GetId("InstanceStackableInitDamage");
20+
_instanceStackableDoTModifierId = IdManager.GetId("InstanceStackableDoT").Value;
21+
_instanceStackableInitDamageId = IdManager.GetId("InstanceStackableInitDamage").Value;
2222

2323
Pool.SetMaxPoolSize((int)1e5);
2424
}
Collapse file

‎ModiBuff/ModiBuff.Benchmarks/BenchModifierIteration.cs‎

Copy file name to clipboardExpand all lines: ModiBuff/ModiBuff.Benchmarks/BenchModifierIteration.cs
+3-3Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public override void GlobalSetup()
2626
Pool.SetMaxPoolSize(20_000);
2727

2828
_dotUnits = new Unit[UnitCount];
29-
int dotId = IdManager.GetId("DoT");
29+
int dotId = IdManager.GetId("DoT").Value;
3030
for (int i = 0; i < _dotUnits.Length; i++)
3131
{
3232
var unit = new Unit();
@@ -36,11 +36,11 @@ public override void GlobalSetup()
3636

3737
_unit = new Unit(int.MaxValue);
3838
_instanceUnit = new Unit(int.MaxValue);
39-
int instanceDoTId = IdManager.GetId("InstanceStackableDoTNoRemove");
39+
int instanceDoTId = IdManager.GetId("InstanceStackableDoTNoRemove").Value;
4040
for (int i = 0; i < UnitCount; i++)
4141
_instanceUnit.ModifierController.Add(instanceDoTId, _instanceUnit, _instanceUnit);
4242

43-
_initDamageId = IdManager.GetId("InitDamage");
43+
_initDamageId = IdManager.GetId("InitDamage").Value;
4444
Pool.Allocate(_initDamageId, UnitCount);
4545

4646
_initDamageUnits = new Unit[UnitCount];
Collapse file

‎ModiBuff/ModiBuff.Benchmarks/BenchTempTests.cs‎

Copy file name to clipboardExpand all lines: ModiBuff/ModiBuff.Benchmarks/BenchTempTests.cs
+71-4Lines changed: 71 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,15 @@ public class BenchTempTests : ModifierBenches
5050

5151
private bool _condition, _conditionTwo;
5252

53+
private List<Dictionary<EnumTest, float>> _all;
54+
55+
private enum EnumTest
56+
{
57+
One,
58+
Two,
59+
Three,
60+
}
61+
5362
public override void GlobalSetup()
5463
{
5564
base.GlobalSetup();
@@ -110,10 +119,20 @@ public override void GlobalSetup()
110119
new AddDamageEffect(5), new AddDamageEffect(5, true)
111120
};
112121
113-
_emptyUnit = new EmptyUnit();*/
122+
_emptyUnit = new EmptyUnit();
114123
115124
_condition = false;
116-
_conditionTwo = true;
125+
_conditionTwo = true;*/
126+
127+
_all = new List<Dictionary<EnumTest, float>>();
128+
for (int i = 0; i < (int)EnumTest.Three; i++)
129+
{
130+
var faction = new Dictionary<EnumTest, float>();
131+
faction.Add(EnumTest.One, i);
132+
faction.Add(EnumTest.Two, i + 1);
133+
faction.Add(EnumTest.Three, i + 2);
134+
_all.Add(faction);
135+
}
117136
}
118137

119138
//[Benchmark(Baseline = true)]
@@ -410,7 +429,7 @@ public void ArrayPool()
410429
ArrayPool<IStackRevertEffect>.Shared.Return(revertEffectsTemp);
411430
}
412431

413-
[Benchmark]
432+
//[Benchmark]
414433
public void IfElse()
415434
{
416435
bool exists;
@@ -432,7 +451,7 @@ public void IfElse()
432451
}
433452
}
434453

435-
[Benchmark]
454+
//[Benchmark]
436455
public void OverWriteIf()
437456
{
438457
int index;
@@ -444,5 +463,53 @@ public void OverWriteIf()
444463
if (index != -1)
445464
return;
446465
}
466+
467+
[Benchmark]
468+
public void ForeachLoopDictCheck()
469+
{
470+
(Dictionary<EnumTest, float>, float)? factionWithHighestResource = null;
471+
float highestResource = float.MinValue;
472+
EnumTest enumTest = EnumTest.Three;
473+
474+
foreach (var dict in _all)
475+
{
476+
if (dict[enumTest] > highestResource)
477+
{
478+
highestResource = dict[enumTest];
479+
factionWithHighestResource = (dict, highestResource);
480+
}
481+
}
482+
483+
var test = factionWithHighestResource;
484+
}
485+
486+
[Benchmark]
487+
public void ForLoopDictCheck()
488+
{
489+
(Dictionary<EnumTest, float>, float)? factionWithHighestResource = null;
490+
float highestResource = float.MinValue;
491+
EnumTest enumTest = EnumTest.Three;
492+
493+
for (int i = 0; i < _all.Count; i++)
494+
{
495+
Dictionary<EnumTest, float> dict = _all[i];
496+
if (dict[enumTest] > highestResource)
497+
{
498+
highestResource = dict[enumTest];
499+
factionWithHighestResource = (dict, highestResource);
500+
}
501+
}
502+
503+
var test = factionWithHighestResource;
504+
}
505+
506+
[Benchmark]
507+
public void AggregateDictCheck()
508+
{
509+
var factionWithHighestFood = _all.Aggregate((f1, f2) =>
510+
f1[EnumTest.Three] > f2[EnumTest.Three] ? f1 : f2);
511+
512+
var test = factionWithHighestFood;
513+
}
447514
}
448515
}
Collapse file

‎ModiBuff/ModiBuff.Examples/BasicConsole/GameController.cs‎

Copy file name to clipboardExpand all lines: ModiBuff/ModiBuff.Examples/BasicConsole/GameController.cs
+3-2Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,9 @@ public GameController()
4747
//But we're adding it as an applier, and not as a normal modifier
4848
//This means that instead of it being applier to the player
4949
//it will be applied to a unit that the player attacks
50-
_player.ModifierApplierController.TryAddApplier(_idManager.GetId("DoT"), false, ApplierType.Attack);
51-
_player.ModifierApplierController.TryAddApplier(_idManager.GetId("InitHeal"), false, ApplierType.Cast);
50+
_player.ModifierApplierController.TryAddApplier(_idManager.GetId("DoT")!.Value, false, ApplierType.Attack);
51+
_player.ModifierApplierController.TryAddApplier(_idManager.GetId("InitHeal")!.Value, false,
52+
ApplierType.Cast);
5253
//_player.ModifierController.TryAddApplier(_idManager.GetId("DisarmChance"), true, ApplierType.Cast);
5354
}
5455

Collapse file

‎ModiBuff/ModiBuff.Examples/BasicConsole/UIExtensions.cs‎

Copy file name to clipboardExpand all lines: ModiBuff/ModiBuff.Examples/BasicConsole/UIExtensions.cs
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ public static void PrintStateAndModifiers(this IModifierApplierOwner owner, IMod
119119
var modifierInfo = modifierRecipes.GetModifierInfo(reference.Id);
120120
Console.GameMessage($"{i + 1} - {modifierInfo.DisplayName} - {modifierInfo.Description}");
121121
var modifierDataReference =
122-
modifierController.GetModifierDataReference(reference.Id, reference.GenId);
122+
modifierController.GetModifierDataReference(reference.Id, reference.GenId.Value);
123123
var timers = modifierDataReference.GetTimers();
124124
for (int j = 0; j < timers?.Length; j++)
125125
{
Collapse file

‎ModiBuff/ModiBuff.Tests/ApplierTests.cs‎

Copy file name to clipboardExpand all lines: ModiBuff/ModiBuff.Tests/ApplierTests.cs
+2-5Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -193,9 +193,6 @@ public void ModifierDoesntExist()
193193
}
194194

195195
[Test]
196-
#if !DEBUG
197-
[Ignore("This test is only for debug mode. Skipping test")]
198-
#endif
199196
public void ApplierDoesntExist()
200197
{
201198
Setup();
@@ -257,8 +254,8 @@ public void ConditionalApplierBasedOnUnitType()
257254
.Effect(new ApplierEffect("InitDamage").SetMetaEffects(new ModifierIdBasedOnUnitTypeMetaEffect(
258255
new Dictionary<UnitType, int>()
259256
{
260-
{ UnitType.Bad, IdManager.GetId("InitDamage") },
261-
{ UnitType.Good, IdManager.GetId("InitHeal") }
257+
{ UnitType.Bad, IdManager.GetId("InitDamage").Value },
258+
{ UnitType.Good, IdManager.GetId("InitHeal").Value }
262259
})),
263260
EffectOn.Init)
264261
.Remove(5).Refresh();
Collapse file

‎ModiBuff/ModiBuff.Tests/AuraTests.cs‎

Copy file name to clipboardExpand all lines: ModiBuff/ModiBuff.Tests/AuraTests.cs
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ public void Aura_Pool_ClearTargets()
131131
{
132132
SetupAuraTest();
133133

134-
int id = IdManager.GetId("InitAddDamageBuff_Interval");
134+
int id = IdManager.GetId("InitAddDamageBuff_Interval").Value;
135135
Pool.Clear();
136136
Pool.Allocate(id, 1);
137137

@@ -141,7 +141,7 @@ public void Aura_Pool_ClearTargets()
141141

142142
Assert.AreEqual(AllyDamage + 5, Ally.Damage);
143143

144-
Unit.ModifierController.Remove(new ModifierReference(id, -1));
144+
Unit.ModifierController.Remove(new ModifierReference(id));
145145
Enemy.AddModifierSelf("InitAddDamageBuff_Interval");
146146
Enemy.Update(1f);
147147
Unit.Update(1.05f);
Collapse file

‎ModiBuff/ModiBuff.Tests/CallbackEffectTests.cs‎

Copy file name to clipboardExpand all lines: ModiBuff/ModiBuff.Tests/CallbackEffectTests.cs
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public void InitStatusEffectSleep_RemoveOnTenDamageTaken_StateReset()
6666
Setup();
6767

6868
Pool.Clear();
69-
Pool.Allocate(IdManager.GetId("InitStatusEffectSleep_RemoveOnTenDamageTaken"), 1);
69+
Pool.Allocate(IdManager.GetId("InitStatusEffectSleep_RemoveOnTenDamageTaken").Value, 1);
7070

7171
//Starts with 10 baseDmg, adds 5 from effect
7272
Unit.AddModifierSelf("InitStatusEffectSleep_RemoveOnTenDamageTaken");
Collapse file

‎ModiBuff/ModiBuff.Tests/CallbackTests.cs‎

Copy file name to clipboardExpand all lines: ModiBuff/ModiBuff.Tests/CallbackTests.cs
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ public void Init_RegisterTimerCallback_TogglableState()
135135
Setup();
136136

137137
//One of a kind setup, usually source and owner are the same
138-
Enemy.ModifierController.Add(IdManager.GetId("AddDamageTogglableBasedOnDistance"), Enemy, Unit);
138+
Enemy.ModifierController.Add(IdManager.GetId("AddDamageTogglableBasedOnDistance").Value, Enemy, Unit);
139139
Enemy.Update(Unit.CallbackTimerCooldown);
140140
Assert.AreEqual(EnemyDamage + 5, Enemy.Damage);
141141

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.