| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- using Microsoft.Xna.Framework;
- namespace OpenVIII.IGMDataItem
- {
- public class Icon : Base, I_Data<Icons.ID>, I_Palette
- {
- #region Fields
- private byte _faded_palette = 2;
- private byte _palette = 2;
- #endregion Fields
- #region Properties
- public override bool Blink
- {
- get => base.Blink; set => base.Blink = value;
- }
- public Icons.ID Data { get; set; } = Icons.ID.None;
- public byte Faded_Palette
- {
- get => _faded_palette; set
- {
- if (value >= Memory.Icons.PaletteCount) value = 2;
- _faded_palette = value;
- }
- }
- public byte Palette
- {
- get => _palette; set
- {
- if (value >= Memory.Icons.PaletteCount) value = 2;
- _palette = value;
- }
- }
- #endregion Properties
- #region Methods
- public override void Draw()
- {
- if (Enabled)
- {
- Rectangle pos = Pos;
- if (OffsetAnchor != null)
- pos.Offset(OffsetAnchor);
- if (!Blink)
- Memory.Icons.Draw(Data, Palette, pos, Scale, Fade, Color);
- else
- {
- if (Faded_Palette != Palette)
- {
- Memory.Icons.Draw(Data, Palette, pos, Scale, Fade, Color);
- Memory.Icons.Draw(Data, Faded_Palette, pos, Scale, Fade * Blink_Amount * Blink_Adjustment, Color);
- }
- else
- {
- Memory.Icons.Draw(Data, Faded_Palette, pos, Scale, Fade * Blink_Adjustment, Color.Lerp(Color, Faded_Color, Blink_Amount));
- }
- }
- }
- }
- #endregion Methods
- }
- }
|