LSCROLL3.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. namespace OpenVIII.Fields.Scripts.Instructions
  2. {
  3. internal sealed class LSCROLL3 : JsmInstruction
  4. {
  5. #region Fields
  6. private readonly IJsmExpression _arg0;
  7. private readonly IJsmExpression _arg1;
  8. private readonly IJsmExpression _arg2;
  9. private readonly IJsmExpression _arg3;
  10. private readonly IJsmExpression _arg4;
  11. private readonly IJsmExpression _arg5;
  12. #endregion Fields
  13. #region Constructors
  14. public LSCROLL3(IJsmExpression arg0, IJsmExpression arg1, IJsmExpression arg2, IJsmExpression arg3, IJsmExpression arg4, IJsmExpression arg5)
  15. {
  16. _arg0 = arg0;
  17. _arg1 = arg1;
  18. _arg2 = arg2;
  19. _arg3 = arg3;
  20. _arg4 = arg4;
  21. _arg5 = arg5;
  22. }
  23. public LSCROLL3(int parameter, IStack<IJsmExpression> stack)
  24. : this(
  25. arg5: stack.Pop(),
  26. arg4: stack.Pop(),
  27. arg3: stack.Pop(),
  28. arg2: stack.Pop(),
  29. arg1: stack.Pop(),
  30. arg0: stack.Pop())
  31. {
  32. }
  33. #endregion Constructors
  34. #region Methods
  35. public override string ToString() => $"{nameof(LSCROLL3)}({nameof(_arg0)}: {_arg0}, {nameof(_arg1)}: {_arg1}, {nameof(_arg2)}: {_arg2}, {nameof(_arg3)}: {_arg3}, {nameof(_arg4)}: {_arg4}, {nameof(_arg5)}: {_arg5})";
  36. #endregion Methods
  37. }
  38. }