Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros

◆ DrawTile_MinecartTrack()

void Terraria.GameContent.Drawing.TileDrawing.DrawTile_MinecartTrack ( Vector2 screenPosition,
Vector2 screenOffset,
int tileX,
int tileY,
TileDrawInfo drawData )
inlineprivate

Definition at line 2948 of file TileDrawing.cs.

2949 {
2950 drawData.tileLight = GetFinalLight(drawData.tileCache, drawData.typeCache, drawData.tileLight, drawData.colorTint);
2951 Minecart.TrackColors(tileX, tileY, drawData.tileCache, out var frontColor, out var backColor);
2952 drawData.drawTexture = GetTileDrawTexture(drawData.tileCache, tileX, tileY, frontColor);
2954 if (WorldGen.IsRope(tileX, tileY) && Main.tile[tileX, tileY - 1] != null)
2955 {
2956 _ = Main.tile[tileX, tileY - 1].type;
2957 int y = (tileY + tileX) % 3 * 18;
2959 Main.spriteBatch.Draw(tileDrawTexture2, new Vector2(tileX * 16 - (int)screenPosition.X, tileY * 16 - (int)screenPosition.Y) + screenOffset, new Rectangle(90, y, 16, 16), drawData.tileLight, 0f, default(Vector2), 1f, drawData.tileSpriteEffect, 0f);
2960 }
2961 drawData.tileCache.frameNumber();
2962 if (drawData.tileFrameY != -1)
2963 {
2964 Main.spriteBatch.Draw(tileDrawTexture, new Vector2(tileX * 16 - (int)screenPosition.X, tileY * 16 - (int)screenPosition.Y) + screenOffset, Minecart.GetSourceRect(drawData.tileFrameY, Main.tileFrame[314]), drawData.tileLight, 0f, default(Vector2), 1f, drawData.tileSpriteEffect, 0f);
2965 }
2966 Main.spriteBatch.Draw(drawData.drawTexture, new Vector2(tileX * 16 - (int)screenPosition.X, tileY * 16 - (int)screenPosition.Y) + screenOffset, Minecart.GetSourceRect(drawData.tileFrameX, Main.tileFrame[314]), drawData.tileLight, 0f, default(Vector2), 1f, drawData.tileSpriteEffect, 0f);
2967 if (Minecart.DrawLeftDecoration(drawData.tileFrameY))
2968 {
2969 Main.spriteBatch.Draw(tileDrawTexture, new Vector2(tileX * 16 - (int)screenPosition.X, (tileY + 1) * 16 - (int)screenPosition.Y) + screenOffset, Minecart.GetSourceRect(36), drawData.tileLight, 0f, default(Vector2), 1f, drawData.tileSpriteEffect, 0f);
2970 }
2971 if (Minecart.DrawLeftDecoration(drawData.tileFrameX))
2972 {
2973 Main.spriteBatch.Draw(drawData.drawTexture, new Vector2(tileX * 16 - (int)screenPosition.X, (tileY + 1) * 16 - (int)screenPosition.Y) + screenOffset, Minecart.GetSourceRect(36), drawData.tileLight, 0f, default(Vector2), 1f, drawData.tileSpriteEffect, 0f);
2974 }
2975 if (Minecart.DrawRightDecoration(drawData.tileFrameY))
2976 {
2977 Main.spriteBatch.Draw(tileDrawTexture, new Vector2(tileX * 16 - (int)screenPosition.X, (tileY + 1) * 16 - (int)screenPosition.Y) + screenOffset, Minecart.GetSourceRect(37, Main.tileFrame[314]), drawData.tileLight, 0f, default(Vector2), 1f, drawData.tileSpriteEffect, 0f);
2978 }
2979 if (Minecart.DrawRightDecoration(drawData.tileFrameX))
2980 {
2981 Main.spriteBatch.Draw(drawData.drawTexture, new Vector2(tileX * 16 - (int)screenPosition.X, (tileY + 1) * 16 - (int)screenPosition.Y) + screenOffset, Minecart.GetSourceRect(37), drawData.tileLight, 0f, default(Vector2), 1f, drawData.tileSpriteEffect, 0f);
2982 }
2983 if (Minecart.DrawBumper(drawData.tileFrameX))
2984 {
2985 Main.spriteBatch.Draw(drawData.drawTexture, new Vector2(tileX * 16 - (int)screenPosition.X, (tileY - 1) * 16 - (int)screenPosition.Y) + screenOffset, Minecart.GetSourceRect(39), drawData.tileLight, 0f, default(Vector2), 1f, drawData.tileSpriteEffect, 0f);
2986 }
2987 else if (Minecart.DrawBouncyBumper(drawData.tileFrameX))
2988 {
2989 Main.spriteBatch.Draw(drawData.drawTexture, new Vector2(tileX * 16 - (int)screenPosition.X, (tileY - 1) * 16 - (int)screenPosition.Y) + screenOffset, Minecart.GetSourceRect(38), drawData.tileLight, 0f, default(Vector2), 1f, drawData.tileSpriteEffect, 0f);
2990 }
2991 }
static Color GetFinalLight(Tile tileCache, ushort typeCache, Color tileLight, Color tint)
Texture2D GetTileDrawTexture(Tile tile, int tileX, int tileY)

References Terraria.Minecart.DrawBouncyBumper(), Terraria.Minecart.DrawBumper(), Terraria.Minecart.DrawLeftDecoration(), Terraria.Minecart.DrawRightDecoration(), Terraria.GameContent.Drawing.TileDrawing.GetFinalLight(), Terraria.Minecart.GetSourceRect(), Terraria.GameContent.Drawing.TileDrawing.GetTileDrawTexture(), Terraria.WorldGen.IsRope(), Terraria.Main.spriteBatch, Terraria.Main.tile, Terraria.Main.tileFrame, Terraria.Minecart.TrackColors(), Microsoft.Xna.Framework.Graphics.Vector2, Microsoft.Xna.Framework.Vector2.X, and Microsoft.Xna.Framework.Vector2.Y.

Referenced by Terraria.GameContent.Drawing.TileDrawing.DrawSingleTile().