ClassicCityBuilderKit 1.9.1
|
RoadNetwork implementation that visualizes the roads of the network on a Terrain
the RoadStage.Index determines which terrain layer is used
when a road is removed the layer at the groundIndex is set
Public Member Functions | |
TerrainRoadNetwork (GridPathfindingSettings pathfindingSettings, Road road, Terrain terrain, bool persist, int groundIndex=0, int level=0) | |
override void | Initialize () |
void | Reload () |
override void | CheckLayers (IEnumerable< Vector2Int > points) |
gets called when | |
override bool | TryGetRoad (Vector2Int point, out Road road, out string stage) |
override RoadsData | SaveData () |
override void | LoadData (RoadsData roadsData) |
![]() | |
RoadNetwork (GridPathfindingSettings pathfindingSettings, Road road, int level=0) | |
virtual void | Dispose () |
void | Calculate (int maxCalculations=PathQuery.DEFAULT_MAX_CALCULATIONS) |
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 | |
List< Vector2Int > | Add (IEnumerable< Vector2Int > points, Road road) |
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 | |
void | Register (IEnumerable< Vector2Int > points) |
void | Deregister (IEnumerable< Vector2Int > points) |
void | RegisterLink (IGridLink link) |
void | DeregisterLink (IGridLink link) |
IEnumerable< IGridLink > | GetLinks (Vector2Int start) |
IGridLink | GetLink (Vector2Int start, Vector2Int end) |
void | RegisterSwitch (Vector2Int point, RoadNetwork other) |
void | RegisterSwitch (Vector2Int entry, Vector2Int point, Vector2Int exit, RoadNetwork other) |
void | Block (IEnumerable< Vector2Int > points) |
void | Unblock (IEnumerable< Vector2Int > points) |
void | BlockTags (IEnumerable< Vector2Int > points, IEnumerable< object > tags) |
void | UnblockTags (IEnumerable< Vector2Int > points, IEnumerable< object > tags) |
bool | CheckPoint (Vector2Int point) |
checks if a point is defined by the network itself points registered from the outside return false | |
Protected Member Functions | |
override void | setPoint (Vector2Int point, Road road) |
override bool | checkPoint (Vector2Int point) |
![]() | |
void | onPointsChanged (PointsChanged< IStructure > pointsChanged) |
Properties | |
Terrain | Terrain [get] |
![]() | |
Road | Road [get] |
GridPathfindingBase | DefaultPathfinding [get] |
GridPathfindingBase | BlockedPathfinding [get] |
List< Vector2Int > | Blocked [get] |
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) | |
![]() | |
![]() |
Additional Inherited Members | |
![]() | |
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 | |
![]() | |
Action< PointsChanged< IStructure > > | PointsChanged |
![]() | |
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 | |
|
inlinevirtual |
|
inlineprotectedvirtual |
Reimplemented from CityBuilderCore.RoadNetwork.
|
inlinevirtual |
Reimplemented from CityBuilderCore.RoadNetwork.
|
inlinevirtual |
Reimplemented from CityBuilderCore.RoadNetwork.
|
inlinevirtual |
Reimplemented from CityBuilderCore.RoadNetwork.
|
inlineprotectedvirtual |
Reimplemented from CityBuilderCore.RoadNetwork.
|
inlinevirtual |
Reimplemented from CityBuilderCore.RoadNetwork.