ClassicCityBuilderKit 1.8.8
|
base class for road managers that can create seperate road networks for different Roads
it also creates a combined road network for walkers which do not specifiy which road they can walk on
the kind of Road a walker can walk on is specified in WalkerInfo.PathTag
the base class provides all the plumbing between the networks and the manager
the implementations have to provide the actual RoadNetworks which determines how roads are visualized
Classes | |
class | MultiRoadsData |
Public Member Functions | |
bool | HasPoint (Vector2Int point, Road road=null) |
void | Add (IEnumerable< Vector2Int > points, Road road) |
void | Register (IEnumerable< Vector2Int > points, Road road) |
void | Deregister (IEnumerable< Vector2Int > points, Road road) |
void | RegisterSwitch (Vector2Int point, Road roadEntry, Road roadExit) |
void | RegisterSwitch (Vector2Int entry, Vector2Int point, Vector2Int exit, Road roadEntry, Road roadExit) |
void | Block (IEnumerable< Vector2Int > points, Road road=null) |
void | Unblock (IEnumerable< Vector2Int > points, Road road=null) |
void | BlockTags (IEnumerable< Vector2Int > points, IEnumerable< object > tags, Road road=null) |
void | UnblockTags (IEnumerable< Vector2Int > points, IEnumerable< object > tags, Road road=null) |
void | Remove (IEnumerable< Vector2Int > points) |
IEnumerable< Vector2Int > | GetPoints () |
bool | HasPoint (Vector2Int point) |
void | CheckLayers (IEnumerable< Vector2Int > points) |
bool | CheckRequirement (Vector2Int point, RoadRequirement requirement) |
string | GetName () |
bool | HasPoint (Vector2Int point, object tag=null) |
checks if a point exists within the pathfinder for example points on map pathing that are blocked or points for road pathing that dont have a road | |
bool | HasPointBlocked (Vector2Int point, object tag=null) |
WalkingPath | FindPath (Vector2Int[] starts, Vector2Int[] targets, object tag) |
attempts to find a path between one of the starts and one of the ends | |
WalkingPath | FindPathBlocked (Vector2Int[] starts, Vector2Int[] targets, object tag) |
PathQuery | FindPathQuery (Vector2Int[] starts, Vector2Int[] targets, object tag) |
PathQuery | FindPathQueryBlocked (Vector2Int[] starts, Vector2Int[] targets, object tag) |
void | RegisterLink (IGridLink link, object tag) |
adds a link to the linker | |
void | DeregisterLink (IGridLink link, object tag) |
removes a link from the linker | |
IEnumerable< IGridLink > | GetLinks (Vector2Int start, object tag) |
retrieves all links starting at a specific point | |
IGridLink | GetLink (Vector2Int start, Vector2Int end, object tag) |
retrieves a link connecting two specific points if one exists | |
string | SaveData () |
serializes the objects state(usually to json) and returns it | |
void | LoadData (string json) |
deserializes the serialized json data and loads the data as its new state | |
Public Attributes | |
GridPathfindingSettings | PathfindingSettings |
Protected Member Functions | |
virtual void | Awake () |
virtual void | Start () |
virtual void | Update () |
virtual void | OnDestroy () |
Dictionary< Road, RoadNetwork > | createNetworks () |
Properties | |
bool | IsDestructible [get] |
bool | IsDecorator [get] |
bool | IsWalkable [get] |
bool | IsAllowedOnRoads [get] |
Transform | Root [get] |
StructureReference | StructureReference [get, set] |
Events | |
Action< PointsChanged< IStructure > > | PositionsChanged |
|
inline |
Implements CityBuilderCore.IRoadManager.
|
inline |
Implements CityBuilderCore.IRoadManager.
|
inline |
Implements CityBuilderCore.IRoadManager.
|
inline |
Implements CityBuilderCore.IRoadManager.
|
inline |
Implements CityBuilderCore.IRoadManager.
|
inline |
removes a link from the linker
link | the link to be removed |
tag | additional information, for example the Road when the link should be removed to a specific road network |
Implements CityBuilderCore.IGridLinker.
WalkingPath CityBuilderCore.RoadManagerBaseMulti.FindPath | ( | Vector2Int[] | starts, |
Vector2Int[] | targets, | ||
object | tag ) |
attempts to find a path between one of the starts and one of the ends
starts | collection of one or more possible start points |
targets | collection of one or more possible start points |
tag | additional pathfinding parameter(road type, walker info, ...) |
Implements CityBuilderCore.IPathfinder.
PathQuery CityBuilderCore.RoadManagerBaseMulti.FindPathQuery | ( | Vector2Int[] | starts, |
Vector2Int[] | targets, | ||
object | tag ) |
Implements CityBuilderCore.IPathfinder.
IGridLink CityBuilderCore.RoadManagerBaseMulti.GetLink | ( | Vector2Int | start, |
Vector2Int | end, | ||
object | tag ) |
retrieves a link connecting two specific points if one exists
start | start point of the potential link |
end | end point of the potential link |
tag | additional parameter |
Implements CityBuilderCore.IGridLinker.
IEnumerable< IGridLink > CityBuilderCore.RoadManagerBaseMulti.GetLinks | ( | Vector2Int | start, |
object | tag ) |
retrieves all links starting at a specific point
start | the point at which to look for lniks |
tag | additional parameter |
Implements CityBuilderCore.IGridLinker.
bool CityBuilderCore.RoadManagerBaseMulti.HasPoint | ( | Vector2Int | point, |
object | tag = null ) |
checks if a point exists within the pathfinder
for example points on map pathing that are blocked or points for road pathing that dont have a road
point | the map point to check |
tag | additional pathfinding parameter(road type, walker info, ...) |
Implements CityBuilderCore.IPathfinder.
|
inline |
deserializes the serialized json data and loads the data as its new state
json |
Implements CityBuilderCore.ISaveData.
|
inline |
Implements CityBuilderCore.IRoadManager.
|
inline |
adds a link to the linker
link | the link to be added |
tag | additional information, for example the Road when the link should be added to a specific road network |
Implements CityBuilderCore.IGridLinker.
|
inline |
Implements CityBuilderCore.IRoadManager.
|
inline |
Implements CityBuilderCore.IRoadManager.
|
inline |
serializes the objects state(usually to json) and returns it
Implements CityBuilderCore.ISaveData.
|
inline |
Implements CityBuilderCore.IRoadManager.
|
inline |
Implements CityBuilderCore.IRoadManager.