From 824d31719e544c9b69afca092eaac3addad7e3ae Mon Sep 17 00:00:00 2001 From: Kurt Date: Tue, 7 Apr 2020 13:40:39 -0700 Subject: [PATCH] Pre-blend colors with white faster fetch --- NHSE.Sprites/Field/FieldItemSprite.cs | 11 +++++------ NHSE.Sprites/Item/ItemSprite.cs | 9 ++++----- NHSE.Sprites/Util/SpriteUtil.cs | 1 + 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/NHSE.Sprites/Field/FieldItemSprite.cs b/NHSE.Sprites/Field/FieldItemSprite.cs index 76fbda9..1a785f9 100644 --- a/NHSE.Sprites/Field/FieldItemSprite.cs +++ b/NHSE.Sprites/Field/FieldItemSprite.cs @@ -1,5 +1,6 @@ using System; using System.Drawing; +using System.Linq; using NHSE.Core; namespace NHSE.Sprites @@ -56,13 +57,11 @@ private static Color GetItemColor(FieldItem item) { var kind = ItemInfo.GetItemKind(item); if (kind == ItemKind.Unknown) - return Color.LimeGreen; - var known = Colors[(int)kind]; - var color = Color.FromKnownColor(known); - // soften the colors a little - return ColorUtil.Blend(Color.White, color, 0.5d); + return item.DisplayItemId == FieldItem.NONE ? Color.LimeGreen : Color.DarkGreen; + return Colors[(int)kind]; } - private static readonly KnownColor[] Colors = (KnownColor[])Enum.GetValues(typeof(KnownColor)); + private static readonly Color[] Colors = ((KnownColor[])Enum.GetValues(typeof(KnownColor))) + .Select(Color.FromKnownColor).Select(z => ColorUtil.Blend(Color.White, z, 0.5d)).ToArray(); } } diff --git a/NHSE.Sprites/Item/ItemSprite.cs b/NHSE.Sprites/Item/ItemSprite.cs index 4ae155a..1ec1e70 100644 --- a/NHSE.Sprites/Item/ItemSprite.cs +++ b/NHSE.Sprites/Item/ItemSprite.cs @@ -1,5 +1,6 @@ using System; using System.Drawing; +using System.Linq; using NHSE.Core; namespace NHSE.Sprites @@ -108,12 +109,10 @@ private static Color GetItemColor(Item item) var kind = ItemInfo.GetItemKind(item); if (kind == ItemKind.Unknown) return Color.LimeGreen; - var known = Colors[(int)kind]; - var color = Color.FromKnownColor(known); - // soften the colors a little - return ColorUtil.Blend(Color.White, color, 0.5d); + return Colors[(int)kind]; } - private static readonly KnownColor[] Colors = (KnownColor[])Enum.GetValues(typeof(KnownColor)); + private static readonly Color[] Colors = ((KnownColor[])Enum.GetValues(typeof(KnownColor))) + .Select(Color.FromKnownColor).Select(z => ColorUtil.Blend(Color.White, z, 0.5d)).ToArray(); } } diff --git a/NHSE.Sprites/Util/SpriteUtil.cs b/NHSE.Sprites/Util/SpriteUtil.cs index 1777ef5..4ecd57e 100644 --- a/NHSE.Sprites/Util/SpriteUtil.cs +++ b/NHSE.Sprites/Util/SpriteUtil.cs @@ -3,5 +3,6 @@ public static class SpriteUtil { public static readonly ItemSpriteDrawer Items = new ItemSpriteDrawer(); + public static readonly FieldItemSpriteDrawer FieldItems = new FieldItemSpriteDrawer(); } } \ No newline at end of file