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

Detailed Description

structure made up of a collection of tiles on a tilemap

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

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

Classes

class  StructureTilesData
 

Public Member Functions

IEnumerable< Vector2Int > GetPoints ()
 retrieves all the points the structure occupies
 
bool HasPoint (Vector2Int position)
 checks if the structure occupies a certain point
 
void Add (Vector2Int position)
 
void Add (IEnumerable< Vector2Int > positions)
 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 (Vector2Int position)
 
void Remove (IEnumerable< Vector2Int > positions)
 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
 
void RefreshTile (Vector2Int position)
 
string GetName ()
 retrieves the name of the structure for display in the UI
 
StructureTilesData SaveData ()
 
void LoadData (StructureTilesData data)
 

Public Attributes

string Name
 
bool IsDestructible
 
bool IsMovable = true
 
bool IsDecorator
 
bool IsWalkable
 
StructureLevelMask Level
 
Tilemap Tilemap
 
TileBase Tile
 
StructureCollection ReplicaCollection
 
- 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
 
Transform Root [get]
 
bool Changed [get]
 
- 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.StructureTiles.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.StructureTiles.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.StructureTiles.GetPoints ( )

retrieves all the points the structure occupies

Returns
the points the structure occupies

Implements CityBuilderCore.IStructure.

◆ HasPoint()

bool CityBuilderCore.StructureTiles.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.StructureTiles.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.StructureTiles.StructureReference
getset

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

Implements CityBuilderCore.IStructure.