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

◆ GetSleepingTargetInfo()

static bool Terraria.GameContent.PlayerSleepingHelper.GetSleepingTargetInfo ( int x,
int y,
out int targetDirection,
out Vector2 anchorPosition,
out Vector2 visualoffset )
inlinestatic

Definition at line 189 of file PlayerSleepingHelper.cs.

190 {
191 Tile tileSafely = Framing.GetTileSafely(x, y);
192 if (!TileID.Sets.CanBeSleptIn[tileSafely.type] || !tileSafely.active())
193 {
194 targetDirection = 1;
195 anchorPosition = default(Vector2);
196 visualoffset = default(Vector2);
197 return false;
198 }
199 int num = y;
200 int num2 = x - tileSafely.frameX % 72 / 18;
201 if (tileSafely.frameY % 36 != 0)
202 {
203 num--;
204 }
205 targetDirection = 1;
206 int num3 = tileSafely.frameX / 72;
207 int num4 = num2;
208 switch (num3)
209 {
210 case 0:
211 targetDirection = -1;
212 num4++;
213 break;
214 case 1:
215 num4 += 2;
216 break;
217 }
218 anchorPosition = new Point(num4, num + 1).ToWorldCoordinates(8f, 16f);
219 visualoffset = SetOffsetbyBed(tileSafely.frameY / 36);
220 return true;
221 }
static bool[] CanBeSleptIn
Definition TileID.cs:137

References Terraria.Tile.active(), Terraria.ID.TileID.Sets.CanBeSleptIn, Terraria.Tile.frameY, Terraria.Framing.GetTileSafely(), Terraria.GameContent.PlayerSleepingHelper.SetOffsetbyBed(), and Terraria.Tile.type.

Referenced by Terraria.GameContent.PlayerSleepingHelper.StartSleeping(), and Terraria.GameContent.PlayerSleepingHelper.UpdateState().