ClassicCityBuilderKit 1.9.1
|
Public Member Functions | |
override void | Initialize () |
initialization for buildings when placing and loading is not called when a building is replaced | |
override void | Setup () |
only called when the building is first placed | |
override void | Terminate () |
de-initializes the buildings and destroys it | |
override IEnumerable< Vector2Int > | GetAccessPoints (PathType type, object tag=null) |
returns any access points that is accessible with the given pathtype | |
override? Vector2Int | GetAccessPoint (PathType type, object tag=null) |
returns the first access point that is accessible with the given pathtype | |
![]() | |
T | Replace< T > (T prefab) |
replaces the building and all of its parts with another one runtime values are transferred and references are reset to the new instances | |
void | Move (Vector3 position, Quaternion rotation) |
moves the building to a different position | |
bool | HasBuildingPart< T > () |
checks if a type of part(components, addons) exists | |
IEnumerable< T > | GetBuildingParts< T > () |
returns all parts composing the building(components, addons) | |
bool | HasBuildingComponent< T > () |
checks if a type of component exists | |
T | GetBuildingComponent< T > () |
get first component of a certain type or null | |
IEnumerable< T > | GetBuildingComponents< T > () |
get all components of a certain type | |
bool | HasBuildingAddon< T > () |
checks if a type of addon exists | |
T | GetBuildingAddon< T > () |
get first addon of a type or null | |
IEnumerable< T > | GetBuildingAddons< T > () |
get all addons of a certain type | |
T | AddAddon< T > (T prefab) |
adds and initializes an addon onto the building from a prefab | |
T | GetAddon< T > (string key) |
get the first addon with the specified key | |
void | RemoveAddon (BuildingAddon addon) |
terminates and removes the addon from the building | |
bool | RemoveAddon (string key) |
terminates and removes an addon from the building with the given key or returns false if none were found | |
bool | HasAccessPoint (PathType type, object tag=null) |
checks if the building can currently be accessed using the given pathtype | |
IEnumerable< Vector2Int > | GetPoints () |
retrieves all the points the structure occupies | |
bool | HasPoint (Vector2Int point) |
checks if the structure occupies a certain point | |
virtual 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 | |
virtual 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 | |
virtual string | GetName () |
retrieves the name of the structure for display in the UI | |
virtual string | GetDescription () |
display description | |
virtual void | Suspend () |
temporarily stops the building from working | |
virtual void | Resume () |
resumes work in the building after Suspend has been called | |
virtual string | SaveData () |
serializes the objects state(usually to json) and returns it | |
virtual void | LoadData (string json) |
deserializes the serialized json data and loads the data as its new state | |
Public Attributes | |
bool | Walkable = true |
![]() | |
BuildingInfo | Info |
Transform | Pivot |
Protected Member Functions | |
override void | Awake () |
override void | Start () |
![]() | |
virtual void | onReplacing (IBuilding replacement) |
virtual void | onMoving () |
virtual void | onMoved (Vector2Int oldPoint, BuildingRotation oldRotation) |
virtual IEnumerable< Vector2Int > | getSpawnPoints () |
Properties | |
override Vector2Int | Size [get] |
size on the grid, always positive | |
override Vector2Int | Point [get] |
origin(bottomLeft) point on the grid, stays constant when rotated | |
override bool | IsWalkable [get] |
whether walkers can pass the points of this structure | |
![]() | |
virtual Vector2Int | RawSize [get] |
size of the building without rotation | |
virtual Vector2Int | Point [get] |
origin(bottomLeft) point on the grid, stays constant when rotated | |
virtual Vector2Int | Size [get] |
size on the grid, always positive | |
BuildingRotation | Rotation [get] |
rotation of the building on the grid, just a int from 0 to 3 | |
Vector2Int | AccessPoint [get] |
Vector3 | WorldCenter [get] |
center position of the building in world space | |
StructureReference | StructureReference [get, set] |
reference to the structure that keeps working even if the structure is replaced | |
BuildingReference | BuildingReference [get, set] |
reference to the building that keeps working even if the building is replaced | |
string | Key [get] |
unique identifier among a type of objects(might be used in savegames, be careful when changing) | |
bool | IsDestructible [get] |
whether the structure can be removed by the player | |
bool | IsMovable [get] |
whether the structure can be moved by the MoveTool | |
virtual bool | IsDecorator [get] |
whether the structure is automatically removed when something is built on top of it | |
virtual bool | IsWalkable [get] |
whether walkers can pass the points of this structure | |
Guid | Id = Guid.NewGuid() [get, set] |
unique id for the building, used for saving is not carried over when replacing | |
bool | IsSuspended [get] |
building is temporarly disabled, can be used to stop work in a building without having to destroy and rebuild | |
int | Index [get, set] |
index of the prefab used, only relevant if the building has BuildingInfo.PrefabAlternatives | |
Transform | Root [get] |
root transform used as a parent for things that belong to the building but should not be rotated in the pivot(walkers, bars) | |
float | Efficiency [get] |
how efficient the building currently is, influenced by all parts implementing IEfficiencyFactor ranges from 0-1, a building with half its employees would have 0.5 efficiency | |
bool | IsWorking [get] |
whether a buildings efficiency is indisturbed for example a farm on semi ideal land might not have full efficiency while still working | |
IBuildingComponent[] | Components [get] |
IReadOnlyCollection< BuildingAddon > | Addons [get] |
![]() | |
![]() | |
![]() |
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 | |
![]() | |
int | _prefabIndex |
Vector2Int? | _point |
Vector2Int? | _size |
BuildingRotation | _rotation |
Vector2Int? | _accessPoint |
IBuildingComponent[] | _components |
List< BuildingAddon > | _addonsQueue = new List<BuildingAddon>() |
List< BuildingAddon > | _addons = new List<BuildingAddon>() |
![]() | |
Action< PointsChanged< IStructure > > | PointsChanged |
Action< IBuilding, IBuilding > | Replacing |
![]() | |
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 | |
|
inlineprotectedvirtual |
Reimplemented from CityBuilderCore.Building.
|
virtual |
returns the first access point that is accessible with the given pathtype
type |
Reimplemented from CityBuilderCore.Building.
|
virtual |
returns any access points that is accessible with the given pathtype
type | |
tag |
Reimplemented from CityBuilderCore.Building.
|
inlinevirtual |
initialization for buildings when placing and loading
is not called when a building is replaced
Reimplemented from CityBuilderCore.Building.
|
inlinevirtual |
only called when the building is first placed
Reimplemented from CityBuilderCore.Building.
|
inlineprotectedvirtual |
Reimplemented from CityBuilderCore.Building.
|
inlinevirtual |
de-initializes the buildings and destroys it
Reimplemented from CityBuilderCore.Building.
|
get |
whether walkers can pass the points of this structure
Implements CityBuilderCore.IStructure.
|
get |
origin(bottomLeft) point on the grid, stays constant when rotated
Implements CityBuilderCore.IBuilding.
|
get |
size on the grid, always positive
Implements CityBuilderCore.IBuilding.