DOFFSET.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using System;
  2. namespace OpenVIII.Fields.Scripts.Instructions
  3. {
  4. internal sealed class DOFFSET : JsmInstruction
  5. {
  6. #region Fields
  7. private readonly IJsmExpression _x;
  8. private readonly IJsmExpression _y;
  9. private readonly IJsmExpression _z;
  10. #endregion Fields
  11. #region Constructors
  12. public DOFFSET(IJsmExpression x, IJsmExpression y, IJsmExpression z)
  13. {
  14. _x = x;
  15. _y = y;
  16. _z = z;
  17. }
  18. public DOFFSET(int parameter, IStack<IJsmExpression> stack)
  19. : this(
  20. z: (IConstExpression)stack.Pop(),
  21. y: (IConstExpression)stack.Pop(),
  22. x: (IConstExpression)stack.Pop())
  23. {
  24. }
  25. #endregion Constructors
  26. #region Methods
  27. public override IAwaitable TestExecute(IServices services)
  28. {
  29. // TODO: Field script
  30. Console.WriteLine($"NotImplemented: {nameof(DOFFSET)}({_x}, {_y}, {_z})");
  31. return DummyAwaitable.Instance;
  32. }
  33. public override string ToString() => $"{nameof(DOFFSET)}({nameof(_x)}: {_x}, {nameof(_y)}: {_y}, {nameof(_z)}: {_z})";
  34. #endregion Methods
  35. }
  36. }