KEY.cs 858 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System;
  2. namespace OpenVIII.Fields.Scripts.Instructions.Abstract
  3. {
  4. public abstract class KEY : JsmInstruction
  5. {
  6. #region Fields
  7. protected readonly KeyFlags _flags;
  8. #endregion Fields
  9. #region Constructors
  10. public KEY(KeyFlags flags) => _flags = flags;
  11. public KEY(int parameter, IStack<IJsmExpression> stack)
  12. : this(
  13. flags: (KeyFlags)((IConstExpression)stack.Pop()).Int32())
  14. {
  15. }
  16. #endregion Constructors
  17. #region Enums
  18. [Flags]
  19. public enum KeyFlags : byte
  20. {
  21. Cancel = 0x10,
  22. Menu = 0x20,
  23. Okay = 0x40,
  24. Card = 0x80,
  25. }
  26. #endregion Enums
  27. #region Methods
  28. public abstract override string ToString();
  29. #endregion Methods
  30. }
  31. }