public void NotifyBuildingSorrounds(Tile N, RoadDirections dir) { switch (dir) { case RoadDirections.East: East = N; N.West = this; break; case RoadDirections.West: West = N; N.East = this; break; case RoadDirections.North: North = N; N.South = this; break; case RoadDirections.South: South = N; N.North = this; break; } ChangeSprite(); }
public Vector2 GetRandomDirection() { Vector2 lastQuadPos = _lastQuad.GetPosition(); RoadDirections direction = (RoadDirections)Random.Range(0, _directionsLength); switch (direction) { case RoadDirections.Forward: lastQuadPos.y++; break; case RoadDirections.Right: lastQuadPos.x++; break; } return(lastQuadPos); }
public static RoadDirections OppositeDirection(this RoadDirections directions) { switch (directions) { case RoadDirections.North: return(RoadDirections.South); case RoadDirections.South: return(RoadDirections.North); case RoadDirections.East: return(RoadDirections.West); default: return(RoadDirections.East); } }
public Tile GetNeighbor(RoadDirections dir) { switch (dir) { case RoadDirections.North: var info = Physics2D.Raycast(transform.position + (Vector3.up * 0.7f), Vector2.up, 0.1f); return(info.collider == null ? null : info.collider.gameObject.GetComponent <Tile>()); case RoadDirections.East: var info2 = Physics2D.Raycast(transform.position + (Vector3.right * 0.7f), Vector2.right, 0.1f); return(info2.collider == null ? null : info2.collider.gameObject.GetComponent <Tile>()); case RoadDirections.South: var info3 = Physics2D.Raycast(transform.position + (Vector3.down * 0.7f), Vector2.down, 0.1f); return(info3.collider == null ? null : info3.collider.gameObject.GetComponent <Tile>());; default: var info4 = Physics2D.Raycast(transform.position + (Vector3.left * 0.7f), Vector2.left, 0.1f); return(info4.collider == null ? null : info4.collider.gameObject.GetComponent <Tile>()); } }