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

◆ GetScreenDrawArea()

void Terraria.GameContent.Drawing.TileDrawing.GetScreenDrawArea ( Vector2 screenPosition,
Vector2 offSet,
out int firstTileX,
out int lastTileX,
out int firstTileY,
out int lastTileY )
inlineprivate

Definition at line 5592 of file TileDrawing.cs.

5593 {
5594 firstTileX = (int)((screenPosition.X - offSet.X) / 16f - 1f);
5595 lastTileX = (int)((screenPosition.X + (float)Main.screenWidth + offSet.X) / 16f) + 2;
5596 firstTileY = (int)((screenPosition.Y - offSet.Y) / 16f - 1f);
5597 lastTileY = (int)((screenPosition.Y + (float)Main.screenHeight + offSet.Y) / 16f) + 5;
5598 if (firstTileX < 4)
5599 {
5600 firstTileX = 4;
5601 }
5602 if (lastTileX > Main.maxTilesX - 4)
5603 {
5604 lastTileX = Main.maxTilesX - 4;
5605 }
5606 if (firstTileY < 4)
5607 {
5608 firstTileY = 4;
5609 }
5610 if (lastTileY > Main.maxTilesY - 4)
5611 {
5612 lastTileY = Main.maxTilesY - 4;
5613 }
5614 if (Main.sectionManager.AnyUnfinishedSections)
5615 {
5616 TimeLogger.DetailedDrawReset();
5617 WorldGen.SectionTileFrameWithCheck(firstTileX, firstTileY, lastTileX, lastTileY);
5618 TimeLogger.DetailedDrawTime(5);
5619 }
5620 if (Main.sectionManager.AnyNeedRefresh)
5621 {
5622 WorldGen.RefreshSections(firstTileX, firstTileY, lastTileX, lastTileY);
5623 }
5624 }

References Terraria.TimeLogger.DetailedDrawReset(), Terraria.TimeLogger.DetailedDrawTime(), Terraria.Main.maxTilesX, Terraria.Main.maxTilesY, Terraria.WorldGen.RefreshSections(), Terraria.Main.sectionManager, Terraria.WorldGen.SectionTileFrameWithCheck(), Microsoft.Xna.Framework.Vector2.X, and Microsoft.Xna.Framework.Vector2.Y.

Referenced by Terraria.GameContent.Drawing.TileDrawing.Draw(), Terraria.GameContent.Drawing.TileDrawing.DrawLiquidBehindTiles(), Terraria.GameContent.Drawing.TileDrawing.EnsureWindGridSize(), and Terraria.GameContent.Drawing.TileDrawing.PreparePaintForTilesOnScreen().