PKHeX/PKHeX.Drawing.Misc/Util/MysteryGiftSpriteUtil.cs
Kurt 436588eb10 Replace é->e for code symbols
Closes #3519
Usages weren't consistent; since `é` isn't accessible on usual english keyboards, just use regular `e` instead of alt-223 entry.

Not sure why VS preferred to save the text files without an encoding prefix; oh well.
2022-06-11 15:32:12 -07:00

41 lines
1.3 KiB
C#

using System.Drawing;
using PKHeX.Core;
using PKHeX.Drawing.Misc.Properties;
using PKHeX.Drawing.PokeSprite;
namespace PKHeX.Drawing.Misc;
public static class MysteryGiftSpriteUtil
{
public static Image Sprite(this MysteryGift gift) => GetSprite(gift);
private static Image GetSprite(MysteryGift gift)
{
if (gift.Empty)
return SpriteUtil.Spriter.None;
var img = GetBaseImage(gift);
if (SpriteBuilder.ShowEncounterColor != SpriteBackgroundType.None)
img = SpriteUtil.ApplyEncounterColor(gift, img, SpriteBuilder.ShowEncounterColor);
if (gift.GiftUsed)
img = ImageUtil.ChangeOpacity(img, 0.3);
return img;
}
private static Image GetBaseImage(MysteryGift gift)
{
if (gift.IsEgg && gift.Species == (int)Species.Manaphy) // Manaphy Egg
return SpriteUtil.GetMysteryGiftPreviewPoke(gift);
if (gift.IsEntity)
return SpriteUtil.GetMysteryGiftPreviewPoke(gift);
if (gift.IsItem)
{
int item = gift.ItemID;
if (Legal.ZCrystalDictionary.TryGetValue(item, out int value))
item = value;
return SpriteUtil.GetItemSprite(item) ?? Resources.Bag_Key;
}
return PokeSprite.Properties.Resources.b_unknown;
}
}