PredefinedMaterial.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace TheraBytes.BetterUi
  7. {
  8. public class HueSaturationBrightnessMaterial : PredefinedMaterialInfo
  9. {
  10. public const string Name = "Hue Saturation Brightness";
  11. public const int Hue = 0;
  12. public const int Saturation = 1;
  13. public const int Brightness = 2;
  14. public override string NameId => Name;
  15. public int HueIndex => Hue;
  16. public int SaturationIndex => Saturation;
  17. public int BrightnessIndex => Brightness;
  18. }
  19. public class ColorOverlayMaterial : PredefinedMaterialInfo
  20. {
  21. public const string Name = "Color Overlay";
  22. public const int Opacity = 0;
  23. public override string NameId => Name;
  24. public int OpacityIndex => Opacity;
  25. }
  26. public class GrayscaleMaterial : PredefinedMaterialInfo
  27. {
  28. public const string Name = "Grayscale";
  29. public const int Amount = 0;
  30. public override string NameId => Name;
  31. public int AmountIndex => Amount;
  32. }
  33. public class StandardMaterial : PredefinedMaterialInfo
  34. {
  35. public const string Name = "Standard";
  36. public override string NameId => Name;
  37. }
  38. public abstract class PredefinedMaterialInfo
  39. {
  40. public abstract string NameId { get; }
  41. public static implicit operator string(PredefinedMaterialInfo material)
  42. {
  43. return material.NameId;
  44. }
  45. }
  46. }