Files @ f419334a476f
Branch filter:

Location: ATITD-Tools/Desert-Paint-Codex/Util/PixelColor.cs

Malkyne
Improved up behavior for clipped reactions and 3-way reactions, and fixed
related bugs.
using System;
using System.Drawing;
using DesertPaintCodex.Services;

namespace DesertPaintCodex.Util
{
    public class PixelColor
    {
        private const int ColorTolerance = 2;
        
        public static bool IsMatch(Color colorA, Color colorB)
        {
            return ((Math.Abs(colorA.R - colorB.R) <= ColorTolerance) &&
                (Math.Abs(colorA.G - colorB.G) <= ColorTolerance) &&
                (Math.Abs(colorA.B - colorB.B) <= ColorTolerance));
        }

        public static bool IsDark(Color color)
        {
            return (color.R < 0x47) && (color.G < 0x47) && (color.B < 0x47);
        }

        public static bool IsUiBackground(Color color)
        {
            return (color.R is >= 0x27 and <= 0x2F) && (color.G is >= 0x3B and <= 0x42) && (color.B is >= 0x41 and <= 0x48);
        }

        public static bool IsRed(Color color)
        {
            return (color.R > 0x9D) && (color.G < 0x60) && (color.B < 0x60);
        }
        public static bool IsGreen(Color color)
        {
            return (color.R < 0x60) && (color.G > 0x9D) && (color.B < 0x60);
        }
        public static bool IsBlue(Color color)
        {
            return (color.R < 0x60) && (color.G < 0x60) && (color.B > 0x9D);
        }

    }
}