@@ -50,6 +50,19 @@ public class Kitsune : Race
50
50
private static Texture2D texture_Color ;
51
51
private static Texture2D texture_Tail ;
52
52
53
+ private const bool DEBUG = false ;
54
+
55
+ // Debugging log function.
56
+ private void Log ( object message )
57
+ {
58
+ if ( DEBUG )
59
+ {
60
+ #pragma warning disable CS0162 // Unreachable code detected
61
+ ShaggyAddonRaces . Logger . Debug ( message ) ;
62
+ #pragma warning restore CS0162 // Unreachable code detected
63
+ }
64
+ }
65
+
53
66
private void Init ( Player player )
54
67
{
55
68
// Redundant initialize every frame.
@@ -191,36 +204,47 @@ public override void ModifyDrawInfo(Player player, Mod mod, ref PlayerDrawInfo d
191
204
192
205
public override void ModifyDrawLayers ( Player player , List < PlayerLayer > layers )
193
206
{
194
- if ( player == null )
195
- {
196
- player = globalPlayer ;
197
- ShaggyAddonRaces . Logger . Warn ( "Player undefined, assigned globalPlayer value." ) ;
198
- }
199
-
200
- if ( layers == null )
201
- {
202
- ShaggyAddonRaces . Logger . Warn ( "LAYERS IS NULL" ) ;
203
- }
204
-
205
- modPlayer = player . GetModPlayer < MrPlagueRaces . MrPlagueRacesPlayer > ( ) ;
206
-
207
- if ( texture_Color . IsDisposed || texture_Tail . IsDisposed )
207
+ try
208
208
{
209
- // catch to make absolutely sure stuff isn't broken
210
- Initialize ( player ) ;
211
- }
209
+ if ( player == null )
210
+ {
211
+ player = globalPlayer ;
212
+ ShaggyAddonRaces . Logger . Warn ( "Player undefined, assigned globalPlayer value." ) ;
213
+ }
214
+ if ( layers == null )
215
+ {
216
+ ShaggyAddonRaces . Logger . Warn ( "LAYERS IS NULL" ) ;
217
+ }
212
218
213
- if ( modPlayer != null && player != null && layers != null )
214
- {
215
- int tailLayer = layers . IndexOf ( PlayerLayer . Legs ) - 1 ;
216
- layers . Insert ( tailLayer , KitsuneTail ) ;
217
- layers . Insert ( tailLayer + 1 , KitsuneTail_Color ) ;
218
- base . ModifyDrawLayers ( player , layers ) ;
219
- bool hideChestplate = modPlayer . hideChestplate ;
220
- bool hideLeggings = modPlayer . hideLeggings ;
221
- modPlayer . updatePlayerSprites ( "ShaggyAddonRaces/Content/RaceTextures/" , "ShaggyAddonRaces/Content/RaceTextures/Kitsune/" , hideChestplate , hideLeggings , 4 , 0 , "Kitsune" , false , false , false ) ;
219
+ modPlayer = player . GetModPlayer < MrPlagueRaces . MrPlagueRacesPlayer > ( ) ;
220
+ if ( texture_Color == null || texture_Tail == null )
221
+ {
222
+ ShaggyAddonRaces . Logger . Info ( "Tails are null... Acquiring." ) ;
223
+ texture_Tail = ShaggyAddonRaces . GetTexture ( "Content/RaceTextures/Kitsune/Tail/Kitsune_Tail" + tailCount ) ;
224
+ texture_Color = ShaggyAddonRaces . GetTexture ( "Content/RaceTextures/Kitsune/Tail/Kitsune_Tail" + tailCount + "_Color" ) ;
225
+ }
226
+ if ( texture_Color . IsDisposed || texture_Tail . IsDisposed )
227
+ {
228
+ // catch to make absolutely sure stuff isn't broken
229
+ ShaggyAddonRaces . Logger . Info ( "Tails are disposed... re-acquiring." ) ;
230
+ texture_Tail = ShaggyAddonRaces . GetTexture ( "Content/RaceTextures/Kitsune/Tail/Kitsune_Tail" + tailCount ) ;
231
+ texture_Color = ShaggyAddonRaces . GetTexture ( "Content/RaceTextures/Kitsune/Tail/Kitsune_Tail" + tailCount + "_Color" ) ;
232
+ }
233
+ if ( modPlayer != null && player != null && layers != null )
234
+ {
235
+ int tailLayer = layers . IndexOf ( PlayerLayer . Legs ) - 1 ;
236
+ layers . Insert ( tailLayer , KitsuneTail ) ;
237
+ layers . Insert ( tailLayer + 1 , KitsuneTail_Color ) ;
238
+ base . ModifyDrawLayers ( player , layers ) ;
239
+ bool hideChestplate = modPlayer . hideChestplate ;
240
+ bool hideLeggings = modPlayer . hideLeggings ;
241
+ modPlayer . updatePlayerSprites ( "ShaggyAddonRaces/Content/RaceTextures/" , "ShaggyAddonRaces/Content/RaceTextures/Kitsune/" , hideChestplate , hideLeggings , 4 , 0 , "Kitsune" , false , false , false ) ;
242
+ }
243
+ } catch ( System . Exception e ) {
244
+ // Literally just pipe all errors to the log file rather than crash immediately and hope for the best.
245
+ ShaggyAddonRaces . Logger . Error ( "Error in ModifyDraw Layers! Now printing error to log..." ) ;
246
+ ShaggyAddonRaces . Logger . Error ( e ) ;
222
247
}
223
-
224
248
}
225
249
226
250
//Original tail code provided by Kazun (thanks!). Refactored by AxeBane.
0 commit comments