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

Detailed Description

structure that removes terrain detail using a TerrainModifier
this structure is very special in that it does not have any concrete points
GetPoints will return nothing but HasPoint(Vector2Int) will always return true
since it is a decorator it will not block building but because of its special setup it will always be told to remove points when something is built

https://citybuilder.softleitner.com/manual/structures

Inheritance diagram for CityBuilderCore.StructureTerrainDetails:
CityBuilderCore.KeyedBehaviour CityBuilderCore.IStructure CityBuilderCore.IKeyed CityBuilderCore.IKeyed

Public Member Functions

string GetName ()
 retrieves the name of the structure for display in the UI
 
IEnumerable< Vector2Int > GetPoints ()
 retrieves all the points the structure occupies
 
bool HasPoint (Vector2Int point)
 checks if the structure occupies a certain point
 
void Add (IEnumerable< Vector2Int > points)
 adds points to a structure, for example a tree to a tree structure collection
this may not be possible for structures with fixed points like buildings
typically called in a structures Start method
 
void Remove (IEnumerable< Vector2Int > points)
 removes points from the structure, for some structures like buildings removing any point will remove the whole thing
typically called in a structures OnDestroy method
 

Public Attributes

string Name
 
TerrainModifier TerrainModifier
 
int Index = -1
 
StructureLevelMask Level
 
- Public Attributes inherited from CityBuilderCore.KeyedBehaviour
string Key
 

Properties

StructureReference StructureReference [get, set]
 reference to the structure that keeps working even if the structure is replaced
 
- Properties inherited from CityBuilderCore.IKeyed
- Properties inherited from CityBuilderCore.IStructure

Events

Action< PointsChanged< IStructure > > PointsChanged
 
- Events inherited from CityBuilderCore.IStructure
Action< PointsChanged< IStructure > > PointsChanged
 has to be fired when a structures points changed so the manager can readjust paths
only viable for structures that are stored in list form like underlying, collections and tiles
other structures have to be reregistered
 

Member Function Documentation

◆ Add()

void CityBuilderCore.StructureTerrainDetails.Add ( IEnumerable< Vector2Int > points)
inline

adds points to a structure, for example a tree to a tree structure collection
this may not be possible for structures with fixed points like buildings
typically called in a structures Start method

Parameters
pointsthe points that will be added to the structure

Implements CityBuilderCore.IStructure.

◆ GetName()

string CityBuilderCore.StructureTerrainDetails.GetName ( )

retrieves the name of the structure for display in the UI

Returns
name of the structure for UI

Implements CityBuilderCore.IStructure.

◆ GetPoints()

IEnumerable< Vector2Int > CityBuilderCore.StructureTerrainDetails.GetPoints ( )

retrieves all the points the structure occupies

Returns
the points the structure occupies

Implements CityBuilderCore.IStructure.

◆ HasPoint()

bool CityBuilderCore.StructureTerrainDetails.HasPoint ( Vector2Int point)

checks if the structure occupies a certain point

Parameters
pointa point on the map
Returns
true if the structure occupies that point

Implements CityBuilderCore.IStructure.

◆ Remove()

void CityBuilderCore.StructureTerrainDetails.Remove ( IEnumerable< Vector2Int > points)
inline

removes points from the structure, for some structures like buildings removing any point will remove the whole thing
typically called in a structures OnDestroy method

Parameters
pointsthe points to remove

Implements CityBuilderCore.IStructure.

Property Documentation

◆ StructureReference

StructureReference CityBuilderCore.StructureTerrainDetails.StructureReference
getset

reference to the structure that keeps working even if the structure is replaced

Implements CityBuilderCore.IStructure.