DOFFSET.cs 1.0 KB

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