2
0

ADDITEM.cs 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. namespace OpenVIII.Fields.Scripts.Instructions
  2. {
  3. /// <summary>
  4. /// Add item to party
  5. /// </summary>
  6. /// <see cref="http://wiki.ffrtt.ru/index.php?title=FF8/Field/Script/Opcodes/125_ADDITEM"/>
  7. /// <seealso cref="http://wiki.ffrtt.ru/index.php?title=FF8/Item_Codes"/>
  8. public sealed class ADDITEM : JsmInstruction
  9. {
  10. #region Fields
  11. private readonly IJsmExpression _id;
  12. private readonly IJsmExpression _qty;
  13. #endregion Fields
  14. #region Constructors
  15. public ADDITEM(IJsmExpression id, IJsmExpression qty)
  16. {
  17. _id = id;
  18. _qty = qty;
  19. }
  20. public ADDITEM(int parameter, IStack<IJsmExpression> stack)
  21. : this(
  22. qty: stack.Pop(),
  23. id: stack.Pop())
  24. {
  25. }
  26. #endregion Constructors
  27. #region Methods
  28. public override string ToString() => $"{nameof(ADDITEM)}({nameof(_id)}: {_id}, {nameof(_qty)}: {_qty}";
  29. #endregion Methods
  30. }
  31. }