ColorHelper.GetHue C# (CSharp) Méthode

GetHue() public static méthode

public static GetHue ( this color ) : float
color this
Résultat float
    public static float GetHue(this Color color)
    {
        if ((color.r == color.g) && (color.g == color.b)) return 0f;
        float num = color.r;
        float num2 = color.g;
        float num3 = color.b;
        float num7 = 0f;
        float num4 = num;
        float num5 = num;
        if (num2 > num4) num4 = num2;
        if (num3 > num4) num4 = num3;
        if (num2 < num5) num5 = num2;
        if (num3 < num5) num5 = num3;
        float num6 = num4 - num5;
        if (num == num4) num7 = (num2 - num3) / num6;
        else if (num2 == num4) num7 = 2f + ((num3 - num) / num6);
        else if (num3 == num4) num7 = 4f + ((num - num2) / num6);
        num7 *= 60f;
        if (num7 < 0f) num7 += 360f;
        return num7;
    }

Usage Example

Exemple #1
0
        private static void AllowColorChange(ILContext il)
        {
            ILCursor cursor = new ILCursor(il);

            while (cursor.TryGotoNext(MoveType.After, instr => instr.MatchCall <Color>("get_White")))
            {
                cursor.Emit(OpCodes.Pop);
                cursor.Emit(OpCodes.Ldarg_0); // this
                cursor.EmitDelegate <Func <Component, Color> >((Component self) => {
                    if (self.Entity.Get <DecalRainbowifier>() != null)
                    {
                        return(ColorHelper.GetHue(self.Scene, self.Entity.Position));
                    }
                    else
                    {
                        return(Color.White);
                    }
                });
                return;
            }
        }