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

◆ CalculateStateForLocation()

static TrackPlacementState Terraria.GameContent.Generation.TrackGenerator.CalculateStateForLocation ( int x,
int y )
inlinestaticprivate

Definition at line 390 of file TrackGenerator.cs.

391 {
392 for (int i = 0; i < 6; i++)
393 {
394 if (IsLocationInvalid(x, y - i))
395 {
396 return TrackPlacementState.Invalid;
397 }
398 }
399 for (int j = 0; j < 6; j++)
400 {
401 if (IsMinecartTrack(x, y + j))
402 {
403 return TrackPlacementState.Invalid;
404 }
405 }
406 for (int k = 0; k < 6; k++)
407 {
408 if (WorldGen.SolidTile(x, y - k))
409 {
410 return TrackPlacementState.Obstructed;
411 }
412 }
413 if (WorldGen.IsTileNearby(x, y, 314, 30))
414 {
415 return TrackPlacementState.Invalid;
416 }
417 return TrackPlacementState.Available;
418 }

References Terraria.GameContent.Generation.TrackGenerator.IsLocationInvalid(), Terraria.GameContent.Generation.TrackGenerator.IsMinecartTrack(), Terraria.WorldGen.IsTileNearby(), and Terraria.WorldGen.SolidTile().

Referenced by Terraria.GameContent.Generation.TrackGenerator.CreateTunnel(), Terraria.GameContent.Generation.TrackGenerator.FindSuitableOrigin(), and Terraria.GameContent.Generation.TrackGenerator.GetHistorySegmentPlacementState().