ClassicCityBuilderKit 1.8.8
|
base class for maps that provides overridable default implementations for all the grid handling
which points on the map can be walked or built upon is up to the concrete map implementation that inherits from this base
Public Types | |
enum | RotationMode { Rotate , Mirror , MirrorAndFlip , Disabled } |
Public Member Functions | |
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 | |
Vector2Int | Size |
Renderer | GridVisual |
float | Variance |
RotationMode | Rotation |
Protected Member Functions | |
virtual void | Awake () |
virtual void | Start () |
virtual void | OnDrawGizmos () |
Properties | |
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 |
|
abstract |
checks the ground for certain features
for example in tilemap base maps this would be a tile
point | the point on the map to check |
options | a set of features that would be acceptable |
Implements CityBuilderCore.IMap.
|
inlinevirtual |
clamps a point to be inside the maps size
point | a point that may or may not be inside the map |
Implements CityBuilderCore.IMap.
|
inlinevirtual |
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
position | the position to check |
Implements CityBuilderCore.IMap.
Reimplemented in CityBuilderCore.HexagonMap, and CityBuilderCore.IsometricMap.
|
inlinevirtual |
calculates the cells center from its corner position
to get the cell center from any position in it use Extensions.GetWorldCenterPosition(IGridPositions, Vector3)
position | absolute world space position of the cell cornder |
Implements CityBuilderCore.IGridPositions.
Reimplemented in CityBuilderCore.IsometricMap.
|
inlinevirtual |
calculates a direction from a numeric roation
angle | rotation indegrees |
Implements CityBuilderCore.IGridRotations.
|
inlinevirtual |
turns a world position into a map point
position | absolute world space position(transform.position) |
Implements CityBuilderCore.IGridPositions.
|
inlinevirtual |
calculates the cells corner position from its center
center | absolute world space position of the cell center |
Implements CityBuilderCore.IGridPositions.
Reimplemented in CityBuilderCore.IsometricMap.
|
inlinevirtual |
calculates a numeric rotation in degrees from a direction
direction | direction the object is facing |
Implements CityBuilderCore.IGridRotations.
|
inlinevirtual |
get position variance for walkers and such, can be used so walkers on the same point dont overlap
Implements CityBuilderCore.IMap.
Reimplemented in CityBuilderCore.IsometricMap.
|
inlinevirtual |
turns a map point into the world position in its lower corner
point | map/cell point |
Implements CityBuilderCore.IGridPositions.
void CityBuilderCore.MapBase.Hide | ( | ) |
hides grid lines on the map
Implements CityBuilderCore.IGridOverlay.
|
abstract |
checks if a point is ok to build on or if the map somehow blocks building there
point | the point on the map to check |
mask | the structure levels to check, 0 for all |
Implements CityBuilderCore.IMap.
|
inline |
checks if a point is inside the map size
point | the point to check |
Implements CityBuilderCore.IMap.
|
abstract |
check if a point can be walked on and may be used in pathfinding
point | the point to check |
Implements CityBuilderCore.IMap.
|
inlinevirtual |
adjusts a transform by a rotation in degrees
transform | the transform that will be chaned |
rotation | the rotation in degrees |
Implements CityBuilderCore.IGridRotations.
|
inlinevirtual |
adjusts a transform in order to visually reflect the direction it is facing
transform | the transform that will be changed |
direction | the direction the entity moves or looks at |
Implements CityBuilderCore.IGridRotations.
void CityBuilderCore.MapBase.Show | ( | ) |
shows grid lines on the map
Implements CityBuilderCore.IGridOverlay.
|
get |
delta position from one cell to the next
Implements CityBuilderCore.IMap.
|
get |
whether we're on a hexagonal map which may need some special handling
Implements CityBuilderCore.IMap.
|
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
Implements CityBuilderCore.IMap.
|
get |
world position at the center of the map
Implements CityBuilderCore.IMap.