Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ UpdateSitting()

void Terraria.GameContent.PlayerSittingHelper.UpdateSitting ( Player player)
inline

Definition at line 50 of file PlayerSittingHelper.cs.

51 {
52 if (!isSitting)
53 {
54 return;
55 }
56 Point coords = (player.Bottom + new Vector2(0f, -2f)).ToTileCoordinates();
57 if (!GetSittingTargetInfo(player, coords.X, coords.Y, out var targetDirection, out var _, out var seatDownOffset, out var extraInfo))
58 {
59 SitUp(player);
60 return;
61 }
62 if (player.controlLeft || player.controlRight || player.controlUp || player.controlDown || player.controlJump || player.pulley || player.mount.Active || targetDirection != player.direction)
63 {
64 SitUp(player);
65 }
66 if (Main.sittingManager.GetNextPlayerStackIndexInCoords(coords) >= 2)
67 {
68 SitUp(player);
69 }
70 if (isSitting)
71 {
72 offsetForSeat = seatDownOffset;
73 details = extraInfo;
74 Main.sittingManager.AddPlayerAndGetItsStackedIndexInCoords(player.whoAmI, coords, out sittingIndex);
75 }
76 }
static bool GetSittingTargetInfo(Player player, int x, int y, out int targetDirection, out Vector2 playerSittingPosition, out Vector2 seatDownOffset, out ExtraSeatInfo extraInfo)
void SitUp(Player player, bool multiplayerBroadcast=true)

References Terraria.Mount.Active, Terraria.Player.controlDown, Terraria.Player.controlJump, Terraria.Player.controlLeft, Terraria.Player.controlRight, Terraria.Player.controlUp, Terraria.GameContent.PlayerSittingHelper.details, Terraria.Entity.direction, Terraria.GameContent.PlayerSittingHelper.GetSittingTargetInfo(), Terraria.GameContent.PlayerSittingHelper.isSitting, Terraria.Player.mount, Terraria.GameContent.PlayerSittingHelper.offsetForSeat, Terraria.Player.pulley, Terraria.GameContent.PlayerSittingHelper.sittingIndex, Terraria.Main.sittingManager, Terraria.GameContent.PlayerSittingHelper.SitUp(), Terraria.Entity.whoAmI, Microsoft.Xna.Framework.Point.X, and Microsoft.Xna.Framework.Point.Y.