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

◆ CacheSpecialDraws_Part2()

void Terraria.GameContent.Drawing.TileDrawing.CacheSpecialDraws_Part2 ( int tileX,
int tileY,
TileDrawInfo drawData,
bool skipDraw )
inlineprivate

Definition at line 3423 of file TileDrawing.cs.

3424 {
3425 if (TileID.Sets.BasicChest[drawData.typeCache])
3426 {
3427 Point key = new Point(tileX, tileY);
3428 if (drawData.tileFrameX % 36 != 0)
3429 {
3430 key.X--;
3431 }
3432 if (drawData.tileFrameY % 36 != 0)
3433 {
3434 key.Y--;
3435 }
3437 {
3438 _chestPositions[key] = Chest.FindChest(key.X, key.Y);
3439 }
3440 int num = drawData.tileFrameX / 18;
3441 int num2 = drawData.tileFrameY / 18;
3442 int num3 = drawData.tileFrameX / 36;
3443 int num4 = num * 18;
3444 drawData.addFrX = num4 - drawData.tileFrameX;
3445 int num5 = num2 * 18;
3446 if (_chestPositions[key] != -1)
3447 {
3448 int frame = Main.chest[_chestPositions[key]].frame;
3449 if (frame == 1)
3450 {
3451 num5 += 38;
3452 }
3453 if (frame == 2)
3454 {
3455 num5 += 76;
3456 }
3457 }
3458 drawData.addFrY = num5 - drawData.tileFrameY;
3459 if (num2 != 0)
3460 {
3461 drawData.tileHeight = 18;
3462 }
3463 if (drawData.typeCache == 21 && (num3 == 48 || num3 == 49))
3464 {
3465 drawData.glowSourceRect = new Rectangle(16 * (num % 2), drawData.tileFrameY + drawData.addFrY, drawData.tileWidth, drawData.tileHeight);
3466 }
3467 }
3468 if (drawData.typeCache != 378)
3469 {
3470 return;
3471 }
3472 Point key2 = new Point(tileX, tileY);
3473 if (drawData.tileFrameX % 36 != 0)
3474 {
3475 key2.X--;
3476 }
3477 if (drawData.tileFrameY % 54 != 0)
3478 {
3479 key2.Y -= drawData.tileFrameY / 18;
3480 }
3482 {
3484 }
3486 {
3488 if (npc != -1)
3489 {
3490 int num6 = Main.npc[npc].frame.Y / 55;
3491 num6 *= 54;
3492 num6 += drawData.tileFrameY;
3493 drawData.addFrY = num6 - drawData.tileFrameY;
3494 }
3495 }
3496 }
static Dictionary< int, TileEntity > ByID
Definition TileEntity.cs:18
Dictionary< Point, int > _trainingDummyTileEntityPositions
Dictionary< Point, int > _chestPositions
static bool[] BasicChest
Definition TileID.cs:223

References Terraria.GameContent.Drawing.TileDrawing._chestPositions, Terraria.GameContent.Drawing.TileDrawing._trainingDummyTileEntityPositions, Terraria.ID.TileID.Sets.BasicChest, Terraria.DataStructures.TileEntity.ByID, Terraria.Main.chest, System.Collections.Generic.Dictionary< TKey, TValue >.ContainsKey(), Terraria.GameContent.Tile_Entities.TETrainingDummy.Find(), Terraria.Chest.FindChest(), System.key, Terraria.Main.npc, and Microsoft.Xna.Framework.Graphics.Point.

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