ClassicCityBuilderKit 1.8.8
|
buildings are special structures that occupy points starting from an origin extending by a size which can be accessed at ceratin points
the behaviour of a building is achieved by adding different components and addons
default implementation is Building which is sometimes used due to Unity restrictions on interfaces
always consider overriding Building before reimplementing IBuilding
Public Member Functions | |
string | GetDescription () |
display description | |
void | Initialize () |
initialization for buildings when placing and loading is not called when a building is replaced | |
void | Setup () |
only called when the building is first placed | |
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 | |
void | Terminate () |
de-initializes the buildings and destroys it | |
void | Suspend () |
temporarily stops the building from working | |
void | Resume () |
resumes work in the building after Suspend has been called | |
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 | |
IEnumerable< Vector2Int > | GetAccessPoints (PathType type, object tag=null) |
returns any access points that is accessible with the given pathtype | |
Vector2Int? | GetAccessPoint (PathType type, object tag=null) |
returns the first access point that is accessible with the given pathtype | |
bool | HasAccessPoint (PathType type, object tag=null) |
checks if the building can currently be accessed using the given pathtype | |
Public Member Functions inherited from CityBuilderCore.IStructure | |
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 | |
Public Member Functions inherited from CityBuilderCore.ISaveData | |
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 | |
Properties | |
BuildingReference | BuildingReference [get, set] |
reference to the building that keeps working even if the building is replaced | |
Guid | Id [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 | |
BuildingInfo | Info [get] |
meta info for data that does not change between instances of a building can be used to compare types of buildings | |
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) | |
Transform | Pivot [get] |
base transform for building visuals, used in animation | |
Vector2Int | Point [get] |
origin(bottomLeft) point on the grid, stays constant when rotated | |
Vector2Int | RawSize [get] |
size of the building without rotation | |
Vector2Int | Size [get] |
size on the grid, always positive | |
Vector3 | WorldCenter [get] |
center position of the building in world space | |
BuildingRotation | Rotation [get] |
rotation of the building on the grid, just a int from 0 to 3 | |
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 | |
Properties inherited from CityBuilderCore.IStructure | |
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 | |
Properties inherited from CityBuilderCore.IKeyed | |
string | Key [get] |
unique identifier among a type of objects(might be used in savegames, be careful when changing) | |
Additional Inherited Members | |
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 | |
T CityBuilderCore.IBuilding.AddAddon< T > | ( | T | prefab | ) |
adds and initializes an addon onto the building from a prefab
T |
prefab |
Implemented in CityBuilderCore.Building.
T | : | BuildingAddon |
Vector2Int? CityBuilderCore.IBuilding.GetAccessPoint | ( | PathType | type, |
object | tag = null ) |
returns the first access point that is accessible with the given pathtype
type |
Implemented in CityBuilderCore.Building, and CityBuilderCore.Tests.DebugBuilding.
IEnumerable< Vector2Int > CityBuilderCore.IBuilding.GetAccessPoints | ( | PathType | type, |
object | tag = null ) |
returns any access points that is accessible with the given pathtype
type | |
tag |
Implemented in CityBuilderCore.Building, and CityBuilderCore.Tests.DebugBuilding.
T CityBuilderCore.IBuilding.GetAddon< T > | ( | string | key | ) |
get the first addon with the specified key
T | type of addon to look for(BuildingAddon for any type) |
key | key of the addon to look for |
Implemented in CityBuilderCore.Building.
T | : | BuildingAddon |
T CityBuilderCore.IBuilding.GetBuildingAddon< T > | ( | ) |
get first addon of a type or null
T |
Implemented in CityBuilderCore.Building.
T | : | BuildingAddon |
IEnumerable< T > CityBuilderCore.IBuilding.GetBuildingAddons< T > | ( | ) |
get all addons of a certain type
T |
Implemented in CityBuilderCore.Building.
T | : | BuildingAddon |
T CityBuilderCore.IBuilding.GetBuildingComponent< T > | ( | ) |
get first component of a certain type or null
T |
Implemented in CityBuilderCore.Building.
T | : | class | |
T | : | IBuildingComponent |
IEnumerable< T > CityBuilderCore.IBuilding.GetBuildingComponents< T > | ( | ) |
get all components of a certain type
T |
Implemented in CityBuilderCore.Building.
T | : | IBuildingComponent |
IEnumerable< T > CityBuilderCore.IBuilding.GetBuildingParts< T > | ( | ) |
returns all parts composing the building(components, addons)
T |
Implemented in CityBuilderCore.Building.
string CityBuilderCore.IBuilding.GetDescription | ( | ) |
bool CityBuilderCore.IBuilding.HasAccessPoint | ( | PathType | type, |
object | tag = null ) |
checks if the building can currently be accessed using the given pathtype
type |
Implemented in CityBuilderCore.Building.
bool CityBuilderCore.IBuilding.HasBuildingAddon< T > | ( | ) |
checks if a type of addon exists
T |
Implemented in CityBuilderCore.Building.
T | : | BuildingAddon |
bool CityBuilderCore.IBuilding.HasBuildingComponent< T > | ( | ) |
checks if a type of component exists
T |
Implemented in CityBuilderCore.Building.
T | : | IBuildingComponent |
bool CityBuilderCore.IBuilding.HasBuildingPart< T > | ( | ) |
checks if a type of part(components, addons) exists
T |
Implemented in CityBuilderCore.Building.
void CityBuilderCore.IBuilding.Initialize | ( | ) |
initialization for buildings when placing and loading
is not called when a building is replaced
Implemented in CityBuilderCore.Building, CityBuilderCore.ExpandableBuilding, and CityBuilderCore.Tests.DebugBuilding.
void CityBuilderCore.IBuilding.Move | ( | Vector3 | position, |
Quaternion | rotation ) |
moves the building to a different position
Implemented in CityBuilderCore.Building.
void CityBuilderCore.IBuilding.RemoveAddon | ( | BuildingAddon | addon | ) |
terminates and removes the addon from the building
addon | the addon instance to remove |
Implemented in CityBuilderCore.Building.
bool CityBuilderCore.IBuilding.RemoveAddon | ( | string | key | ) |
terminates and removes an addon from the building with the given key or returns false if none were found
key |
Implemented in CityBuilderCore.Building.
T CityBuilderCore.IBuilding.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
T |
prefab |
Implemented in CityBuilderCore.Building.
T | : | MonoBehaviour | |
T | : | IBuilding |
void CityBuilderCore.IBuilding.Resume | ( | ) |
resumes work in the building after Suspend has been called
Implemented in CityBuilderCore.Building.
void CityBuilderCore.IBuilding.Setup | ( | ) |
only called when the building is first placed
Implemented in CityBuilderCore.Building, and CityBuilderCore.Tests.DebugBuilding.
void CityBuilderCore.IBuilding.Suspend | ( | ) |
temporarily stops the building from working
Implemented in CityBuilderCore.Building.
void CityBuilderCore.IBuilding.Terminate | ( | ) |
de-initializes the buildings and destroys it
Implemented in CityBuilderCore.Building, and CityBuilderCore.Tests.DebugBuilding.
|
getset |
reference to the building that keeps working even if the building is replaced
Implemented in CityBuilderCore.Building.
|
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
Implemented in CityBuilderCore.Building.
|
getset |
unique id for the building, used for saving is not carried over when replacing
Implemented in CityBuilderCore.Building.
|
getset |
index of the prefab used, only relevant if the building has BuildingInfo.PrefabAlternatives
Implemented in CityBuilderCore.Building.
|
get |
building is temporarly disabled, can be used to stop work in a building without having to destroy and rebuild
Implemented in CityBuilderCore.Building.
|
get |
whether a buildings efficiency is indisturbed
for example a farm on semi ideal land might not have full efficiency while still working
Implemented in CityBuilderCore.Building.
|
get |
origin(bottomLeft) point on the grid, stays constant when rotated
Implemented in CityBuilderCore.Building, and CityBuilderCore.Tests.DebugBuilding.
|
get |
size of the building without rotation
Implemented in CityBuilderCore.Building, and CityBuilderCore.ExpandableBuilding.
|
get |
root transform used as a parent for things that belong to the building but should not be rotated in the pivot(walkers, bars)
Implemented in CityBuilderCore.Building.
|
get |
rotation of the building on the grid, just a int from 0 to 3
Implemented in CityBuilderCore.Building.
|
get |
size on the grid, always positive
Implemented in CityBuilderCore.Building, and CityBuilderCore.Tests.DebugBuilding.
|
get |
center position of the building in world space
Implemented in CityBuilderCore.Building.