WHOAMI.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. namespace OpenVIII.Fields.Scripts.Instructions
  2. {
  3. /// <summary>
  4. /// <para>Get Junction Correspondent?</para>
  5. /// <para>Pushes the value of this character's "real world" character into temp variable 0.</para>
  6. /// <para>This is only used twice in the game - both at Esthar's "front gate" before the last dream sequence.</para>
  7. /// </summary>
  8. public sealed class WHOAMI : JsmInstruction
  9. {
  10. #region Fields
  11. private Characters _characterID;
  12. #endregion Fields
  13. #region Constructors
  14. public WHOAMI(Characters characterID) => _characterID = characterID;
  15. public WHOAMI(int parameter, IStack<IJsmExpression> stack)
  16. : this(
  17. characterID: ((IConstExpression)stack.Pop()).Characters())
  18. {
  19. }
  20. #endregion Constructors
  21. #region Properties
  22. public Characters CharacterID { get => _characterID; set => _characterID = value; }
  23. #endregion Properties
  24. #region Methods
  25. public override string ToString() => $"{nameof(WHOAMI)}({nameof(_characterID)}: {_characterID})";
  26. #endregion Methods
  27. }
  28. }