diff --git a/InscryptionAPI/PixelCard/PixelCardBehaviours.cs b/InscryptionAPI/PixelCard/PixelCardBehaviours.cs index ad8a5856..f09b6c4e 100644 --- a/InscryptionAPI/PixelCard/PixelCardBehaviours.cs +++ b/InscryptionAPI/PixelCard/PixelCardBehaviours.cs @@ -11,6 +11,7 @@ public override void ApplyAppearance() { } public virtual Sprite PixelAppearance() { return null; } public virtual Sprite OverridePixelPortrait() { return null; } public virtual Sprite OverrideBackground() { return null; } + public virtual Sprite OverrideQueuedBackground() { return null; } public virtual void OnAppearanceApplied() { } } diff --git a/InscryptionAPI/PixelCard/PixelCardManager.cs b/InscryptionAPI/PixelCard/PixelCardManager.cs index dc40ce00..e209745c 100644 --- a/InscryptionAPI/PixelCard/PixelCardManager.cs +++ b/InscryptionAPI/PixelCard/PixelCardManager.cs @@ -91,8 +91,9 @@ private static void DecalPatches(PixelCardDisplayer __instance, PlayableCard pla private static void AddDecalToCard(in PixelCardDisplayer instance, PlayableCard playableCard) { - Transform cardElements = instance?.gameObject?.transform?.Find("CardElements"); - if (cardElements == null) + Transform cardElements = instance?.cardElements?.transform; + Transform queuedCardElements = instance?.queuedCardElements?.transform; + if (cardElements == null || queuedCardElements == null) return; List existingDecals = new(); @@ -139,6 +140,15 @@ private static void AddDecalToCard(in PixelCardDisplayer instance, PlayableCard Sprite overridePortrait = pixelBehav.OverridePixelPortrait(); if (overridePortrait != null) instance.SetPortrait(overridePortrait); + // override queued background + Sprite overrideQueuedBackground = pixelBehav.OverrideQueuedBackground(); + if (overrideQueuedBackground != null) + { + Transform queuedBackground = queuedCardElements.Find("QueuedBackground"); + SpriteRenderer component = queuedBackground?.GetComponent(); + if (component != null) + component.sprite = overrideQueuedBackground; + } } UnityObject.Destroy(behav); }