diff options
author | Jesse Plamondon-Willard <github@jplamondonw.com> | 2017-10-07 23:20:36 -0400 |
---|---|---|
committer | Jesse Plamondon-Willard <github@jplamondonw.com> | 2017-10-07 23:20:36 -0400 |
commit | d0dd2f7ba729de6be749d326a2fed78988ba9d7b (patch) | |
tree | a22127da6a8900e9f29bbb847bfd5d3347f6b952 /src/SMAPI/Framework/CursorPosition.cs | |
parent | 7889676ea24cafc945899bf25608784e3f5bc9e0 (diff) | |
parent | 5928f5f86c4493ddb6b89bce0b7d0fb73a884c09 (diff) | |
download | SMAPI-d0dd2f7ba729de6be749d326a2fed78988ba9d7b.tar.gz SMAPI-d0dd2f7ba729de6be749d326a2fed78988ba9d7b.tar.bz2 SMAPI-d0dd2f7ba729de6be749d326a2fed78988ba9d7b.zip |
Merge branch 'add-mod-build-config' into develop
Diffstat (limited to 'src/SMAPI/Framework/CursorPosition.cs')
-rw-r--r-- | src/SMAPI/Framework/CursorPosition.cs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/SMAPI/Framework/CursorPosition.cs b/src/SMAPI/Framework/CursorPosition.cs new file mode 100644 index 00000000..db02b3d1 --- /dev/null +++ b/src/SMAPI/Framework/CursorPosition.cs @@ -0,0 +1,35 @@ +using Microsoft.Xna.Framework; + +namespace StardewModdingAPI.Framework +{ + /// <summary>Defines a position on a given map at different reference points.</summary> + internal class CursorPosition : ICursorPosition + { + /********* + ** Accessors + *********/ + /// <summary>The pixel position relative to the top-left corner of the visible screen.</summary> + public Vector2 ScreenPixels { get; } + + /// <summary>The tile position under the cursor relative to the top-left corner of the map.</summary> + public Vector2 Tile { get; } + + /// <summary>The tile position that the game considers under the cursor for purposes of clicking actions. This may be different than <see cref="Tile"/> if that's too far from the player.</summary> + public Vector2 GrabTile { get; } + + + /********* + ** Public methods + *********/ + /// <summary>Construct an instance.</summary> + /// <param name="screenPixels">The pixel position relative to the top-left corner of the visible screen.</param> + /// <param name="tile">The tile position relative to the top-left corner of the map.</param> + /// <param name="grabTile">The tile position that the game considers under the cursor for purposes of clicking actions.</param> + public CursorPosition(Vector2 screenPixels, Vector2 tile, Vector2 grabTile) + { + this.ScreenPixels = screenPixels; + this.Tile = tile; + this.GrabTile = grabTile; + } + } +} |