Skip to content

Commit 45fb15e

Browse files
Merge pull request #6 from julian-perge/feature/util_additions
Additions to CardUtil and NewCard.
2 parents 8d09d04 + 5cc99a4 commit 45fb15e

10 files changed

Lines changed: 283 additions & 72 deletions

Models/CustomCard.cs

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ namespace APIPlugin
99
public class CustomCard
1010
{
1111
public static List<CustomCard> cards = new();
12+
1213
public static Dictionary<int,List<AbilityIdentifier>> abilityIds = new();
1314
public static Dictionary<int, List<SpecialAbilityIdentifier>> specialAbilityIds = new();
1415
public static Dictionary<int,EvolveIdentifier> evolveIds = new();
@@ -39,16 +40,13 @@ public class CustomCard
3940
public bool? flipPortraitForStrafe;
4041
public bool? onePerDeck;
4142
public List<CardAppearanceBehaviour.Appearance> appearanceBehaviour;
42-
[IgnoreMapping]
43-
public Texture2D tex;
44-
[IgnoreMapping]
45-
public Texture2D altTex;
43+
[IgnoreMapping] public Texture2D tex;
44+
[IgnoreMapping] public Texture2D altTex;
4645
public Texture titleGraphic;
47-
[IgnoreMapping]
48-
public Texture2D pixelTex;
46+
[IgnoreMapping] public Texture2D pixelTex;
4947
public GameObject animatedPortrait;
5048
public List<Texture> decals;
51-
public List<AbilityIdentifier> abilityId;
49+
public List<AbilityIdentifier> abilityIdList = new();
5250
public EvolveIdentifier evolveId;
5351
public IceCubeIdentifier iceCubeId;
5452
public TailIdentifier tailId;
@@ -71,6 +69,7 @@ public CustomCard(
7169
foreach (var id in abilityIdParam.Where(id => id.id != 0))
7270
{
7371
this.abilities.Add(id.id);
72+
abilitiesToRemove.Add(id);
7473
}
7574

7675
foreach (AbilityIdentifier id in abilitiesToRemove)
@@ -90,6 +89,7 @@ public CustomCard(
9089
foreach (var id in specialAbilityIdParam.Where(id => id.id != 0))
9190
{
9291
this.specialAbilities.Add(id.id);
92+
specialAbilitiesToRemove.Add(id);
9393
}
9494

9595
foreach (SpecialAbilityIdentifier id in specialAbilitiesToRemove)
@@ -134,22 +134,26 @@ public CardInfo AdjustCard(CardInfo card)
134134
card.portraitTex = Sprite.Create(tex, CardUtils.DefaultCardArtRect, CardUtils.DefaultVector2);
135135
card.portraitTex.name = "portrait_" + name;
136136
}
137+
137138
if (this.altTex is not null)
138139
{
139140
altTex.name = "portrait_" + name;
140141
altTex.filterMode = FilterMode.Point;
141142
card.alternatePortrait = Sprite.Create(altTex, CardUtils.DefaultCardArtRect, CardUtils.DefaultVector2);
142143
card.alternatePortrait.name = "portrait_" + name;
143144
}
145+
144146
if (this.pixelTex is not null)
145147
{
146148
pixelTex.name = "portrait_" + name;
147149
pixelTex.filterMode = FilterMode.Point;
148-
card.pixelPortrait = Sprite.Create(pixelTex, CardUtils.DefaultCardPixelArtRect, CardUtils.DefaultVector2);
150+
card.pixelPortrait =
151+
Sprite.Create(pixelTex, CardUtils.DefaultCardPixelArtRect, CardUtils.DefaultVector2);
149152
card.pixelPortrait.name = "portrait_" + name;
150153
}
154+
151155
Plugin.Log.LogInfo($"Adjusted default card {name}!");
152156
return card;
153157
}
154158
}
155-
}
159+
}

Models/EvolveIdentifier.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
using System;
2-
using System.Collections.Generic;
31
using DiskCardGame;
4-
using UnityEngine;
52

63
namespace APIPlugin
74
{

Models/IceCubeIdentifier.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
using System;
2-
using System.Collections.Generic;
31
using DiskCardGame;
4-
using UnityEngine;
52

63
namespace APIPlugin
74
{

Models/NewCard.cs

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,21 @@ public static void Add(CardInfo card, List<AbilityIdentifier> abilityIdsParam =
2626
Plugin.Log.LogInfo($"Loaded custom card {card.name}!");
2727
}
2828

29+
2930
// TODO Implement a handler for custom appearanceBehaviour - in particular custom card backs
3031
// TODO Change parameter order, and function setter call order to make more sense
3132
// TODO Rename parameters to be more user friendly
32-
public static void Add(string name, List<CardMetaCategory> metaCategories, CardComplexity cardComplexity,
33-
CardTemple temple, string displayedName, int baseAttack, int baseHealth,
34-
string description = null,
35-
bool hideAttackAndHealth = false, int cost = 0, int bonesCost = 0, int energyCost = 0,
33+
public static void Add(string name, string displayedName, int baseAttack, int baseHealth,
34+
List<CardMetaCategory> metaCategories, CardComplexity cardComplexity, CardTemple temple,
35+
string description = null, bool hideAttackAndHealth = false,
36+
int bloodCost = 0, int bonesCost = 0, int energyCost = 0,
3637
List<GemType> gemsCost = null, SpecialStatIcon specialStatIcon = SpecialStatIcon.None,
3738
List<Tribe> tribes = null, List<Trait> traits = null, List<SpecialTriggeredAbility> specialAbilities = null,
3839
List<Ability> abilities = null, List<AbilityIdentifier> abilityIdsParam = null,
3940
List<SpecialAbilityIdentifier> specialAbilitiesIdsParam = null, EvolveParams evolveParams = null,
4041
string defaultEvolutionName = null, TailParams tailParams = null, IceCubeParams iceCubeParams = null,
4142
bool flipPortraitForStrafe = false, bool onePerDeck = false,
42-
List<CardAppearanceBehaviour.Appearance> appearanceBehaviour = null, Texture2D tex = null,
43+
List<CardAppearanceBehaviour.Appearance> appearanceBehaviour = null, Texture2D defaultTex = null,
4344
Texture2D altTex = null, Texture titleGraphic = null, Texture2D pixelTex = null,
4445
GameObject animatedPortrait = null, List<Texture> decals = null, EvolveIdentifier evolveId = null,
4546
IceCubeIdentifier iceCubeId = null, TailIdentifier tailId = null)
@@ -108,7 +109,7 @@ public static void Add(string name, List<CardMetaCategory> metaCategories, CardC
108109
}
109110

110111
// costs
111-
card.cost = cost;
112+
card.cost = bloodCost;
112113
card.bonesCost = bonesCost;
113114
card.energyCost = energyCost;
114115

@@ -118,7 +119,7 @@ public static void Add(string name, List<CardMetaCategory> metaCategories, CardC
118119
}
119120

120121
// textures
121-
DetermineAndSetCardArt(name, card, tex, altTex, pixelTex);
122+
DetermineAndSetCardArt(name, card, defaultTex, altTex, pixelTex);
122123

123124
if (animatedPortrait is not null)
124125
{
@@ -152,16 +153,16 @@ private static void HandleIdentifiers(
152153
IceCubeIdentifier iceCubeId,
153154
TailIdentifier tailId)
154155
{
155-
// Handle AbilityIdentifier
156-
List<AbilityIdentifier> toRemove = new List<AbilityIdentifier>();
156+
List<AbilityIdentifier> abilitiesToRemove = new List<AbilityIdentifier>();
157157
if (abilityIdsParam is not null)
158158
{
159159
foreach (var id in abilityIdsParam.Where(id => id.id != 0))
160160
{
161161
card.abilities.Add(id.id);
162+
abilitiesToRemove.Add(id);
162163
}
163164

164-
foreach (AbilityIdentifier id in toRemove)
165+
foreach (AbilityIdentifier id in abilitiesToRemove)
165166
{
166167
abilityIdsParam.Remove(id);
167168
}
@@ -173,11 +174,18 @@ private static void HandleIdentifiers(
173174
}
174175

175176
// Handle SpecialAbilityIds
177+
List<SpecialAbilityIdentifier> specialAbilitiesToRemove = new List<AbilityIdentifier>();
176178
if (specialAbilitiesIdsParam is not null)
177179
{
178180
foreach (var id in specialAbilitiesIdsParam.Where(id => id.id != 0))
179181
{
180182
card.specialAbilities.Add(id.id);
183+
specialAbilitiesToRemove.Add(id);
184+
}
185+
186+
foreach (SpecialAbilityIdentifier id in specialAbilitiesToRemove)
187+
{
188+
specialAbilitiesIdsParam.Remove(id);
181189
}
182190

183191
if (specialAbilitiesIdsParam.Count > 0)
@@ -207,15 +215,15 @@ private static void HandleIdentifiers(
207215

208216
private static void DetermineAndSetCardArt(
209217
string name, CardInfo card,
210-
Texture2D tex, Texture2D altTex, Texture2D pixelTex)
218+
Texture2D defaultTex, Texture2D altTex, Texture2D pixelTex)
211219
{
212220
var newName = "portrait_" + name;
213-
if (tex is not null)
221+
if (defaultTex is not null)
214222
{
215-
tex.name = newName;
216-
tex.filterMode = FilterMode.Point;
223+
defaultTex.name = newName;
224+
defaultTex.filterMode = FilterMode.Point;
217225

218-
card.portraitTex = Sprite.Create(tex, CardUtils.DefaultCardArtRect, CardUtils.DefaultVector2);
226+
card.portraitTex = Sprite.Create(defaultTex, CardUtils.DefaultCardArtRect, CardUtils.DefaultVector2);
219227
card.portraitTex.name = newName;
220228
}
221229

Models/TailIdentifier.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
1-
using System;
2-
using System.Collections.Generic;
31
using DiskCardGame;
42
using UnityEngine;
5-
using CardLoaderPlugin.lib;
63

74
namespace APIPlugin
85
{
96
public class TailIdentifier
107
{
11-
private string name;
8+
private string name;
129
private CardModificationInfo mods;
1310
private Texture2D tailLostTex;
1411
private TailParams tail;
12+
1513
public TailParams Tail
1614
{
1715
get
@@ -37,7 +35,7 @@ public TailParams Tail
3735
public TailIdentifier(string name, Texture2D tailLostTex = null, CardModificationInfo mods = null)
3836
{
3937
this.name = name;
40-
this.mods = mods;
38+
this.mods = mods;
4139
this.tailLostTex = tailLostTex;
4240
}
4341

Patches/ChapterSelectMenu.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public static void Prefix()
2828
}
2929
}
3030
ScriptableObjectLoader<CardInfo>.allData = official.Concat(NewCard.cards).ToList();
31-
Plugin.Log.LogInfo($"Loaded custom cards into data");
31+
Plugin.Log.LogInfo($"Loaded {NewCard.cards.Count} custom cards into data");
3232
}
3333
}
3434
}

Patches/LoadingScreenManager.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public static void Prefix()
2929
}
3030

3131
ScriptableObjectLoader<CardInfo>.allData = official.Concat(NewCard.cards).ToList();
32-
Plugin.Log.LogInfo($"Loaded custom cards into data");
32+
Plugin.Log.LogInfo($"Loaded {NewCard.cards.Count} custom cards into data");
3333
}
3434

3535
if (ScriptableObjectLoader<AbilityInfo>.allData == null)
@@ -41,7 +41,7 @@ public static void Prefix()
4141
}
4242

4343
ScriptableObjectLoader<AbilityInfo>.allData = official;
44-
Plugin.Log.LogInfo($"Loaded custom abilities into data");
44+
Plugin.Log.LogInfo($"Loaded {NewAbility.abilities.Count} custom abilities into data");
4545
}
4646
}
4747
}

Plugin.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ private void Awake()
2727
Logger.LogInfo($"Loaded {PluginName}!");
2828
Plugin.Log = base.Logger;
2929

30-
configEnergy = Config.Bind("Energy","Energy Refresh",true,"Max energy increaces and energy refreshes at end of turn");
30+
configEnergy = Config.Bind("Energy","Energy Refresh",true,"Max energy increases and energy refreshes at end of turn");
3131
configDrone = Config.Bind("Energy","Energy Drone",false,"Drone is visible to display energy (requires Energy Refresh)");
3232
configMox = Config.Bind("Mox","Mox Refresh",false,"Mox refreshes at end of battle");
3333
configDroneMox = Config.Bind("Mox","Mox Drone",false,"Drone displays mox (requires Energy Drone and Mox Refresh)");

Utils/AbilityInfoUtils.cs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
using System.Collections.Generic;
2+
using DiskCardGame;
3+
using UnityEngine;
4+
5+
namespace APIPlugin
6+
{
7+
public class AbilityInfoUtils
8+
{
9+
public static AbilityInfo CreateInfoWithDefaultSettings(string rulebookName, string rulebookDescription)
10+
{
11+
AbilityInfo info = ScriptableObject.CreateInstance<AbilityInfo>();
12+
info.powerLevel = 0;
13+
info.rulebookName = rulebookName;
14+
info.rulebookDescription = rulebookDescription;
15+
info.metaCategories = new List<AbilityMetaCategory>()
16+
{
17+
AbilityMetaCategory.Part1Modular, AbilityMetaCategory.Part1Rulebook
18+
};
19+
20+
return info;
21+
}
22+
}
23+
}

0 commit comments

Comments
 (0)