11using System . Collections . Generic ;
22using System . Linq ;
3- using CardLoaderPlugin . lib ;
43using DiskCardGame ;
54using UnityEngine ;
65
@@ -15,7 +14,9 @@ public static class NewCard
1514 public static Dictionary < int , EvolveIdentifier > evolveIds = new ( ) ;
1615 public static Dictionary < int , IceCubeIdentifier > iceCubeIds = new ( ) ;
1716 public static Dictionary < int , TailIdentifier > tailIds = new ( ) ;
18-
17+
18+ public static Dictionary < string , Sprite > emissions = new ( ) ;
19+
1920 public static void Add ( CardInfo card , List < AbilityIdentifier > abilityIdsParam = null ,
2021 List < SpecialAbilityIdentifier > specialAbilitiesIdsParam = null ,
2122 EvolveIdentifier evolveId = null ,
@@ -36,14 +37,14 @@ public static void Add(string name, string displayedName, int baseAttack, int ba
3637 int bloodCost = 0 , int bonesCost = 0 , int energyCost = 0 ,
3738 List < GemType > gemsCost = null , SpecialStatIcon specialStatIcon = SpecialStatIcon . None ,
3839 List < Tribe > tribes = null , List < Trait > traits = null , List < SpecialTriggeredAbility > specialAbilities = null ,
39- List < Ability > abilities = null , List < AbilityIdentifier > abilityIdsParam = null ,
40+ List < Ability > abilities = null , List < AbilityIdentifier > abilityIdsParam = null ,
4041 List < SpecialAbilityIdentifier > specialAbilitiesIdsParam = null , EvolveParams evolveParams = null ,
4142 string defaultEvolutionName = null , TailParams tailParams = null , IceCubeParams iceCubeParams = null ,
4243 bool flipPortraitForStrafe = false , bool onePerDeck = false ,
4344 List < CardAppearanceBehaviour . Appearance > appearanceBehaviour = null , Texture2D defaultTex = null ,
4445 Texture2D altTex = null , Texture titleGraphic = null , Texture2D pixelTex = null ,
45- GameObject animatedPortrait = null , List < Texture > decals = null , EvolveIdentifier evolveId = null ,
46- IceCubeIdentifier iceCubeId = null , TailIdentifier tailId = null )
46+ Texture2D emissionTex = null , GameObject animatedPortrait = null , List < Texture > decals = null ,
47+ EvolveIdentifier evolveId = null , IceCubeIdentifier iceCubeId = null , TailIdentifier tailId = null )
4748 {
4849 CardInfo card = ScriptableObject . CreateInstance < CardInfo > ( ) ;
4950
@@ -119,7 +120,7 @@ public static void Add(string name, string displayedName, int baseAttack, int ba
119120 }
120121
121122 // textures
122- DetermineAndSetCardArt ( name , card , defaultTex , altTex , pixelTex ) ;
123+ DetermineAndSetCardArt ( name , card , defaultTex , altTex , pixelTex , emissionTex ) ;
123124
124125 if ( animatedPortrait is not null )
125126 {
@@ -166,23 +167,23 @@ private static void HandleIdentifiers(
166167 {
167168 abilityIdsParam . Remove ( id ) ;
168169 }
169-
170+
170171 if ( abilityIdsParam . Count > 0 )
171172 {
172173 NewCard . abilityIds [ NewCard . cards . Count - 1 ] = abilityIdsParam ;
173174 }
174175 }
175-
176+
176177 // Handle SpecialAbilityIds
177- List < SpecialAbilityIdentifier > specialAbilitiesToRemove = new List < AbilityIdentifier > ( ) ;
178+ List < SpecialAbilityIdentifier > specialAbilitiesToRemove = new List < SpecialAbilityIdentifier > ( ) ;
178179 if ( specialAbilitiesIdsParam is not null )
179180 {
180181 foreach ( var id in specialAbilitiesIdsParam . Where ( id => id . id != 0 ) )
181182 {
182183 card . specialAbilities . Add ( id . id ) ;
183184 specialAbilitiesToRemove . Add ( id ) ;
184185 }
185-
186+
186187 foreach ( SpecialAbilityIdentifier id in specialAbilitiesToRemove )
187188 {
188189 specialAbilitiesIdsParam . Remove ( id ) ;
@@ -215,7 +216,7 @@ private static void HandleIdentifiers(
215216
216217 private static void DetermineAndSetCardArt (
217218 string name , CardInfo card ,
218- Texture2D defaultTex , Texture2D altTex , Texture2D pixelTex )
219+ Texture2D defaultTex , Texture2D altTex , Texture2D pixelTex , Texture2D emissionTex )
219220 {
220221 var newName = "portrait_" + name ;
221222 if ( defaultTex is not null )
@@ -225,6 +226,14 @@ private static void DetermineAndSetCardArt(
225226
226227 card . portraitTex = Sprite . Create ( defaultTex , CardUtils . DefaultCardArtRect , CardUtils . DefaultVector2 ) ;
227228 card . portraitTex . name = newName ;
229+ if ( emissionTex is not null )
230+ {
231+ emissionTex . name = newName + "_emission" ;
232+ emissionTex . filterMode = FilterMode . Point ;
233+ Sprite emissionSprite = Sprite . Create ( emissionTex , CardUtils . DefaultCardArtRect , CardUtils . DefaultVector2 ) ;
234+ emissionSprite . name = newName + "_emission" ;
235+ emissions . Add ( newName , emissionSprite ) ;
236+ }
228237 }
229238
230239 if ( altTex is not null )
@@ -247,4 +256,4 @@ private static void DetermineAndSetCardArt(
247256 }
248257 }
249258 }
250- }
259+ }
0 commit comments