Loading...
Searching...
No Matches
CityBuilderCore.Tests.DebugBuilding Class Reference
Inheritance diagram for CityBuilderCore.Tests.DebugBuilding:
CityBuilderCore.Building CityBuilderCore.MessageReceiver CityBuilderCore.IBuilding CityBuilderCore.ISaveData CityBuilderCore.IStructure CityBuilderCore.ISaveData CityBuilderCore.IKeyed

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
 
- Public Member Functions inherited from CityBuilderCore.Building
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
 
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
 
GetBuildingAddon< T > ()
 get first addon of a type or null
 
IEnumerable< T > GetBuildingAddons< T > ()
 get all addons of a certain type
 
AddAddon< T > (T prefab)
 adds and initializes an addon onto the building from a prefab
 
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 position)
 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 Member Functions inherited from CityBuilderCore.MessageReceiver
virtual void OnMessages (string e)
 use when a single string has to be split into several messages
by default the parameter is split by spaces
 
virtual void OnMessage (string e)
 puts a message into the characters messaging pipeline
 

Public Attributes

bool Walkable = true
 
- Public Attributes inherited from CityBuilderCore.Building
BuildingInfo Info
 
Transform Pivot
 
- Public Attributes inherited from CityBuilderCore.MessageReceiver
MessageReceiver ForwardReceiver
 
UnityEvent< string > MessageReceived
 
MessageEvent[] MessageEvents
 

Protected Member Functions

override void Awake ()
 
override void Start ()
 
- Protected Member Functions inherited from CityBuilderCore.Building
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
 
- Properties inherited from CityBuilderCore.Building
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
 
virtual Vector3 PrimaryPosition [get]
 
virtual Vector3 SecondaryPosition [get]
 
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< BuildingAddonAddons [get]
 
- Properties inherited from CityBuilderCore.IBuilding
- Properties inherited from CityBuilderCore.IStructure
- Properties inherited from CityBuilderCore.IKeyed

Additional Inherited Members

- Protected Attributes inherited from CityBuilderCore.Building
int _prefabIndex
 
Vector2Int? _point
 
Vector2Int? _size
 
BuildingRotation _rotation
 
Vector2Int? _accessPoint
 
Vector3? _worldCenter
 
IBuildingComponent[] _components
 
List< BuildingAddon_addonsQueue = new List<BuildingAddon>()
 
List< BuildingAddon_addons = new List<BuildingAddon>()
 
- Events inherited from CityBuilderCore.Building
Action< PointsChanged< IStructure > > PointsChanged
 
Action< IBuilding, IBuildingReplacing
 
- 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
 

Member Function Documentation

◆ Awake()

override void CityBuilderCore.Tests.DebugBuilding.Awake ( )
inlineprotectedvirtual

Reimplemented from CityBuilderCore.Building.

◆ GetAccessPoint()

override? Vector2Int CityBuilderCore.Tests.DebugBuilding.GetAccessPoint ( PathType type,
object tag = null )
virtual

returns the first access point that is accessible with the given pathtype

Parameters
type
Returns

Reimplemented from CityBuilderCore.Building.

◆ GetAccessPoints()

override IEnumerable< Vector2Int > CityBuilderCore.Tests.DebugBuilding.GetAccessPoints ( PathType type,
object tag = null )
virtual

returns any access points that is accessible with the given pathtype

Parameters
type
tag
Returns

Reimplemented from CityBuilderCore.Building.

◆ Initialize()

override void CityBuilderCore.Tests.DebugBuilding.Initialize ( )
inlinevirtual

initialization for buildings when placing and loading
is not called when a building is replaced

Reimplemented from CityBuilderCore.Building.

◆ Setup()

override void CityBuilderCore.Tests.DebugBuilding.Setup ( )
inlinevirtual

only called when the building is first placed

Reimplemented from CityBuilderCore.Building.

◆ Start()

override void CityBuilderCore.Tests.DebugBuilding.Start ( )
inlineprotectedvirtual

Reimplemented from CityBuilderCore.Building.

◆ Terminate()

override void CityBuilderCore.Tests.DebugBuilding.Terminate ( )
inlinevirtual

de-initializes the buildings and destroys it

Reimplemented from CityBuilderCore.Building.

Property Documentation

◆ IsWalkable

override bool CityBuilderCore.Tests.DebugBuilding.IsWalkable
get

whether walkers can pass the points of this structure

Implements CityBuilderCore.IStructure.

◆ Point

override Vector2Int CityBuilderCore.Tests.DebugBuilding.Point
get

origin(bottomLeft) point on the grid, stays constant when rotated

Implements CityBuilderCore.IBuilding.

◆ Size

override Vector2Int CityBuilderCore.Tests.DebugBuilding.Size
get

size on the grid, always positive

Implements CityBuilderCore.IBuilding.