Face.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using Microsoft.Xna.Framework;
  2. namespace OpenVIII.IGMDataItem
  3. {
  4. public class Face : Base, I_Data<Faces.ID>
  5. {
  6. #region Fields
  7. private byte _palette;
  8. #endregion Fields
  9. //public Face(Faces.ID data, Rectangle? pos = null, bool blink = false, float blink_adjustment = 1f) : base(pos)
  10. //{
  11. // Data = data;
  12. // Blink = blink;
  13. // Blink_Adjustment = blink_adjustment;
  14. //}
  15. #region Properties
  16. public bool Border { get; set; } = false;
  17. public Faces.ID Data { get; set; } = Faces.ID.Blank;
  18. public byte Palette
  19. {
  20. get => _palette; set
  21. {
  22. if (value >= 16) value = 2;
  23. _palette = value;
  24. }
  25. }
  26. #endregion Properties
  27. #region Methods
  28. public override void Draw()
  29. {
  30. if (Enabled && Data != Faces.ID.Blank)
  31. {
  32. var pos = Pos;
  33. if (OffsetAnchor != null)
  34. pos.Offset(OffsetAnchor);
  35. Memory.Faces.Draw(Data, pos, Vector2.UnitY, Fade * (base.Blink ? (Blink_Amount * Blink_Adjustment) : 1f));
  36. if (Border)
  37. Memory.Icons.Draw(Icons.ID.MenuBorder, 2, pos, new Vector2(1f), Fade * (base.Blink ? (Blink_Amount * Blink_Adjustment) : 1f));
  38. }
  39. }
  40. #endregion Methods
  41. }
  42. }