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

◆ GetTileData() [2/2]

static TileObjectData Terraria.ObjectData.TileObjectData.GetTileData ( Tile getTile)
inlinestatic

Definition at line 4403 of file TileObjectData.cs.

4404 {
4405 if (getTile == null || !getTile.active())
4406 {
4407 return null;
4408 }
4409 int type = getTile.type;
4410 if (type < 0 || type >= _data.Count)
4411 {
4412 throw new ArgumentOutOfRangeException("Function called with a bad tile type");
4413 }
4415 if (tileObjectData == null)
4416 {
4417 return null;
4418 }
4419 int num = getTile.frameX / tileObjectData.CoordinateFullWidth;
4420 int num2 = getTile.frameY / tileObjectData.CoordinateFullHeight;
4421 int num3 = tileObjectData.StyleWrapLimit;
4422 if (num3 == 0)
4423 {
4424 num3 = 1;
4425 }
4426 int num4 = ((!tileObjectData.StyleHorizontal) ? (num * num3 + num2) : (num2 * num3 + num));
4427 int num5 = num4 / tileObjectData.StyleMultiplier;
4428 int num6 = num4 % tileObjectData.StyleMultiplier;
4429 int styleLineSkip = tileObjectData.StyleLineSkip;
4430 if (styleLineSkip > 1)
4431 {
4432 if (tileObjectData.StyleHorizontal)
4433 {
4434 num5 = num2 / styleLineSkip * num3 + num;
4435 num6 = num2 % styleLineSkip;
4436 }
4437 else
4438 {
4439 num5 = num / styleLineSkip * num3 + num2;
4440 num6 = num % styleLineSkip;
4441 }
4442 }
4443 if (tileObjectData.SubTiles != null && num5 >= 0 && num5 < tileObjectData.SubTiles.Count)
4444 {
4446 if (tileObjectData2 != null)
4447 {
4449 }
4450 }
4451 if (tileObjectData._alternates != null)
4452 {
4453 for (int i = 0; i < tileObjectData.Alternates.Count; i++)
4454 {
4456 if (tileObjectData3 != null && num6 >= tileObjectData3.Style && num6 <= tileObjectData3.Style + tileObjectData3.RandomStyleRange)
4457 {
4458 return tileObjectData3;
4459 }
4460 }
4461 }
4462 return tileObjectData;
4463 }
static List< TileObjectData > _data
TileObjectData(TileObjectData copyFrom=null)

References Terraria.ObjectData.TileObjectData._data, System.Collections.Generic.Dictionary< TKey, TValue >.Count, and System.type.