Loading...
Searching...
No Matches
CityBuilderCore.TerrainMap Class Reference

Detailed Description

terrain based map implementation, whether map points are buildable depends on the terrain
currently only checks if the height of the terrain is in an acceptable range to see if it can be built on

https://citybuilder.softleitner.com/manual

Inheritance diagram for CityBuilderCore.TerrainMap:
CityBuilderCore.DefaultMap CityBuilderCore.MapBase CityBuilderCore.IMap CityBuilderCore.IGridOverlay CityBuilderCore.IGridPositions CityBuilderCore.IGridRotations

Classes

class  TaggedLimit
 

Public Member Functions

override bool IsBuildable (Vector2Int position, int mask, object tag=null)
 checks if a point is ok to build on or if the map somehow blocks building there
 
- Public Member Functions inherited from CityBuilderCore.DefaultMap
override bool IsBuildable (Vector2Int point, int mask, object tag=null)
 checks if a point is ok to build on or if the map somehow blocks building there
 
override bool IsWalkable (Vector2Int point)
 check if a point can be walked on and may be used in pathfinding
 
override bool CheckGround (Vector2Int point, Object[] options)
 checks the ground for certain features
for example in tilemap base maps this would be a tile
 
- Public Member Functions inherited from CityBuilderCore.MapBase
bool IsInside (Vector2Int position)
 checks if a point is inside the map size
 
bool IsBuildable (Vector2Int position, int mask, object tag=null)
 checks if a point is ok to build on or if the map somehow blocks building there
 
bool IsWalkable (Vector2Int position)
 check if a point can be walked on and may be used in pathfinding
 
bool CheckGround (Vector2Int position, Object[] options)
 checks the ground for certain features
for example in tilemap base maps this would be a tile
 
void Show ()
 shows grid lines on the map
 
void Hide ()
 hides grid lines on the map
 
virtual Vector3 ClampPosition (Vector3 position)
 clamps a position to be inside the maps size
if, for example, a position 5,-10 is passed for a map that starts at 0,0 the position will be clamped to 5,0
 
virtual Vector2Int ClampPoint (Vector2Int point)
 clamps a point to be inside the maps size
 
virtual Vector2Int GetGridPosition (Vector3 position)
 turns a world position into a map point
 
virtual Vector3 GetWorldPosition (Vector2Int position)
 turns a map point into the world position in its lower corner
 
virtual Vector3 GetCenterFromPosition (Vector3 position)
 calculates the cells center from its corner position
to get the cell center from any position in it use Extensions.GetWorldCenterPosition(IGridPositions, Vector3)
 
virtual Vector3 GetPositionFromCenter (Vector3 center)
 calculates the cells corner position from its center
 
virtual Vector3 GetVariance ()
 get position variance for walkers and such, can be used so walkers on the same point dont overlap
 
virtual void SetRotation (Transform transform, Vector3 direction)
 adjusts a transform in order to visually reflect the direction it is facing
 
virtual void SetRotation (Transform transform, float rotation)
 adjusts a transform by a rotation in degrees
 
virtual float GetRotation (Vector3 direction)
 calculates a numeric rotation in degrees from a direction
 
virtual Vector3 GetDirection (float angle)
 calculates a direction from a numeric roation
 

Public Attributes

Terrain Terrain
 
float MinHeight
 
float MaxHeight
 
float MinSteepness
 
float MaxSteepness = 90
 
TaggedLimit[] TaggedLimits
 
- Public Attributes inherited from CityBuilderCore.DefaultMap
Tilemap Ground
 
TileBase[] WalkingBlockingTiles
 
BlockingTile[] BuildingBlockingTiles
 
TaggedTiles[] TaggedBuildingTiles
 
- Public Attributes inherited from CityBuilderCore.MapBase
Vector2Int Size
 
Renderer GridVisual
 
float Variance
 
RotationMode Rotation
 

Additional Inherited Members

- Public Types inherited from CityBuilderCore.MapBase
enum  RotationMode { Rotate , Mirror , MirrorAndFlip , Disabled }
 
- Protected Member Functions inherited from CityBuilderCore.MapBase
virtual void Awake ()
 
virtual void Start ()
 
virtual void OnDrawGizmos ()
 
- Properties inherited from CityBuilderCore.MapBase
virtual bool IsHex [get]
 whether we're on a hexagonal map which may need some special handling
 
virtual bool IsXY [get]
 whether the map grid is in xy, usually in 2d games
3d games often use Y as the height axis and have their grid in XZ
 
virtual Vector3 CellOffset [get]
 delta position from one cell to the next
 
virtual Vector3 WorldCenter [get]
 world position at the center of the map
 
virtual Vector3 WorldSize [get]
 
Grid Grid [get]
 
- Properties inherited from CityBuilderCore.IMap

Member Function Documentation

◆ IsBuildable()

override bool CityBuilderCore.TerrainMap.IsBuildable ( Vector2Int point,
int mask,
object tag = null )
inline

checks if a point is ok to build on or if the map somehow blocks building there

Parameters
pointthe point on the map to check
maskthe structure levels to check, 0 for all
Returns

Implements CityBuilderCore.IMap.