ClassicCityBuilderKit 1.9.1
|
interface for anything placed on the map(roads, decorators, buildings, ....)
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 | |
Static Public Member Functions | |
static void | ReplacePoints (IStructure a, IStructure b, Vector2Int point, bool keepRandomization=true, bool keepVariant=true) |
removes a point from one structure and adds it to another while trying to carry over its look both structures need to be StructureCollectionFloat, StructureTerrainTrees or StructureTerrainTreeVariants) | |
static void | ReplacePoints (IStructure a, IStructure b, IEnumerable< Vector2Int > points, bool keepRandomization=true, bool keepVariant=true) |
removes points from one structure and adds them to another while trying to carry over its look both structures need to be StructureCollectionFloat, StructureTerrainTrees or StructureTerrainTreeVariants) used in town so bushes keep their look(size, rotation, color) when berries grown on them would also carry the variant index for trees in town if there were any | |
Properties | |
StructureReference | StructureReference [get, set] |
reference to the structure that keeps working even if the structure is replaced | |
bool | IsDestructible [get] |
whether the structure can be removed by the player | |
bool | IsMovable [get] |
whether the structure can be moved by the MoveTool | |
bool | IsDecorator [get] |
whether the structure is automatically removed when something is built on top of it | |
bool | IsWalkable [get] |
whether walkers can pass the points of this structure | |
int | Level [get] |
the structure level mask of this structure determines which levels a structure occupies structures that have no levels in common can be placed on top of each other | |
![]() | |
string | Key [get] |
unique identifier among a type of objects(might be used in savegames, be careful when changing) | |
Events | |
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 | |
void CityBuilderCore.IStructure.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
points | the points that will be added to the structure |
Implemented in CityBuilderCore.Building, CityBuilderCore.RoadNetwork, CityBuilderCore.StructureCollection, CityBuilderCore.StructureCollectionFloat, CityBuilderCore.StructureDecorators, CityBuilderCore.StructureTerrainDetails, CityBuilderCore.StructureTerrainTrees, CityBuilderCore.StructureTerrainTreeVariants, CityBuilderCore.StructureTiles, and CityBuilderCore.Tests.DebugStructure.
string CityBuilderCore.IStructure.GetName | ( | ) |
retrieves the name of the structure for display in the UI
Implemented in CityBuilderCore.Building, CityBuilderCore.RoadNetwork, CityBuilderCore.StructureCollection, CityBuilderCore.StructureCollectionFloat, CityBuilderCore.StructureDecorators, CityBuilderCore.StructureTerrainDetails, CityBuilderCore.StructureTerrainTrees, CityBuilderCore.StructureTerrainTreeVariants, CityBuilderCore.StructureTiles, and CityBuilderCore.Tests.DebugStructure.
IEnumerable< Vector2Int > CityBuilderCore.IStructure.GetPoints | ( | ) |
retrieves all the points the structure occupies
Implemented in CityBuilderCore.Building, CityBuilderCore.RoadNetwork, CityBuilderCore.StructureCollection, CityBuilderCore.StructureCollectionFloat, CityBuilderCore.StructureDecorators, CityBuilderCore.StructureTerrainDetails, CityBuilderCore.StructureTerrainTrees, CityBuilderCore.StructureTerrainTreeVariants, CityBuilderCore.StructureTiles, and CityBuilderCore.Tests.DebugStructure.
bool CityBuilderCore.IStructure.HasPoint | ( | Vector2Int | point | ) |
checks if the structure occupies a certain point
point | a point on the map |
Implemented in CityBuilderCore.Building, CityBuilderCore.RoadNetwork, CityBuilderCore.StructureCollection, CityBuilderCore.StructureCollectionFloat, CityBuilderCore.StructureDecorators, CityBuilderCore.StructureTerrainDetails, CityBuilderCore.StructureTerrainTrees, CityBuilderCore.StructureTerrainTreeVariants, CityBuilderCore.StructureTiles, and CityBuilderCore.Tests.DebugStructure.
void CityBuilderCore.IStructure.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
points | the points to remove |
Implemented in CityBuilderCore.Building, CityBuilderCore.RoadNetwork, CityBuilderCore.StructureCollection, CityBuilderCore.StructureCollectionFloat, CityBuilderCore.StructureDecorators, CityBuilderCore.StructureTerrainDetails, CityBuilderCore.StructureTerrainTrees, CityBuilderCore.StructureTerrainTreeVariants, CityBuilderCore.StructureTiles, and CityBuilderCore.Tests.DebugStructure.
|
inlinestatic |
removes points from one structure and adds them to another while trying to carry over its look
both structures need to be StructureCollectionFloat, StructureTerrainTrees or StructureTerrainTreeVariants)
used in town so bushes keep their look(size, rotation, color) when berries grown on them
would also carry the variant index for trees in town if there were any
a | point will be removed from this structure |
b | point will be added to this structure |
points | points on the map |
keepRandomization | transfer over any size/color randomizations, only works when the structure are of the same type |
keepVariant | transfer over the variant index |
|
inlinestatic |
removes a point from one structure and adds it to another while trying to carry over its look
both structures need to be StructureCollectionFloat, StructureTerrainTrees or StructureTerrainTreeVariants)
a | point will be removed from this structure |
b | point will be added to this structure |
point | point on the map |
keepRandomization | transfer over any size/color randomizations, only works when the structure are of the same type |
keepVariant | transfer over the variant index |
|
get |
whether the structure is automatically removed when something is built on top of it
Implemented in CityBuilderCore.Building, CityBuilderCore.RoadNetwork, and CityBuilderCore.Tests.DebugStructure.
|
get |
whether the structure can be removed by the player
Implemented in CityBuilderCore.Building, CityBuilderCore.RoadNetwork, and CityBuilderCore.Tests.DebugStructure.
|
get |
whether the structure can be moved by the MoveTool
Implemented in CityBuilderCore.Building, CityBuilderCore.RoadNetwork, and CityBuilderCore.Tests.DebugStructure.
|
get |
whether walkers can pass the points of this structure
Implemented in CityBuilderCore.Building, CityBuilderCore.RoadNetwork, CityBuilderCore.Tests.DebugBuilding, and CityBuilderCore.Tests.DebugStructure.
|
get |
the structure level mask of this structure
determines which levels a structure occupies
structures that have no levels in common can be placed on top of each other
Implemented in CityBuilderCore.RoadNetwork, and CityBuilderCore.Tests.DebugStructure.
|
getset |
reference to the structure that keeps working even if the structure is replaced
Implemented in CityBuilderCore.Building, CityBuilderCore.RoadNetwork, CityBuilderCore.StructureCollection, CityBuilderCore.StructureCollectionFloat, CityBuilderCore.StructureDecorators, CityBuilderCore.StructureTerrainDetails, CityBuilderCore.StructureTerrainTrees, CityBuilderCore.StructureTerrainTreeVariants, CityBuilderCore.StructureTiles, and CityBuilderCore.Tests.DebugStructure.