ClassicCityBuilderKit 1.8.8
|
building component that stores items and has storage walkers to manage items as follows:
I: fill up on items that have been configured as StorageOrderMode.Get
II: deliver to IItemReceiver that need items
III: get rid of items that have been configured as StorageOrderMode.Empty
Classes | |
class | StorageWalkerData |
Public Member Functions | |
override string | SaveData () |
serializes the objects state(usually to json) and returns it | |
override void | LoadData (string json) |
deserializes the serialized json data and loads the data as its new state | |
Public Member Functions inherited from CityBuilderCore.StorageComponent | |
override void | InitializeComponent () |
initialization is performed when the building is placed or loaded use to create references, register traits, ... | |
override void | OnReplacing (IBuilding replacement) |
called when a component gets replaced use to transfer resources, replace references | |
override void | TerminateComponent () |
termination is performed when the building is destroyed use to deregister traits, remove references from other systems | |
override string | GetDebugText () |
returns text that gets displayed for debugging in the scene editor | |
IEnumerable< Item > | GetReceiveItems () |
returns the kinds of items the receiver needs | |
int | GetReceiveCapacity (Item item) |
how much of the item the receiver can still fit | |
void | ReserveCapacity (Item item, int quantity) |
reserves a capacity in the receiver so it is not filled up by someone else | |
void | UnreserveCapacity (Item item, int quantity) |
releases capacity that was earlier reserved by ReserveCapacity(Item, int) call before actually moving items into the receiver or if the delivery was somehow interrupted | |
int | Receive (ItemStorage storage, Item item, int quantity) |
requests that a quantity of items is moved from the storage to the receiver if the full amount does not fit the remaining quantity is returned | |
int | GetGiveQuantity (Item item) |
checks how much of an item is available to be given | |
void | ReserveQuantity (Item item, int quantity) |
reserves a quantity of items that may later be given dont reverse more than is available(GetGiveQuantity(Item)) | |
void | UnreserveQuantity (Item item, int quantity) |
releases a quantity that was reserved by ReserveQuantity(Item, int) before should be called before acutally moving items with Give(ItemStorage, Item, int) or if the process was interrupted | |
int | Give (ItemStorage storage, Item item, int quantity) |
requests that a quantity of items is put into the specified storage if the full amount is not available the remaining quantity is returned | |
Public Member Functions inherited from CityBuilderCore.BuildingComponent | |
virtual void | SetupComponent () |
only called when the building is originally placed, before Initialize | |
virtual void | OnMoving () |
called when the building is about to be moved can be used to remove/deregister stuff from the old position | |
virtual void | OnMoved (Vector2Int oldPoint, BuildingRotation oldRotation) |
called after a building has been moved can be used to register things at the new position | |
virtual void | SuspendComponent () |
temporarily stops the component from working | |
virtual void | ResumeComponent () |
resumes work in the component after SuspendComponent has been called | |
virtual string | GetDescription () |
gets displayed in dialogs to show the component status to players | |
Public Attributes | |
ManualStorageWalkerSpawner | StorageWalkers |
Public Attributes inherited from CityBuilderCore.StorageComponent | |
ItemStorage | Storage |
StorageOrder[] | Orders |
Properties | |
override string | Key [get] |
unique key used to identify the component in save/load | |
Properties inherited from CityBuilderCore.StorageComponent | |
override string | Key [get] |
unique key used to identify the component in save/load | |
int | Priority [get] |
can be used so certain receivers are preferred over others for example construction sites or production may be more important that putting items into storage | |
BuildingComponentReference< IStorageComponent > | Reference [get, set] |
BuildingComponentReference< IItemReceiver > | ReceiverReference [get, set] |
BuildingComponentReference< IItemGiver > | GiverReference [get, set] |
IItemContainer | ItemContainer [get] |
holds and manages the items for the owner | |
Properties inherited from CityBuilderCore.BuildingComponent | |
string | Key [get] |
unique key used to identify the component in save/load | |
IBuilding | Building [get, set] |
the building the component is attached to is set by the building in awake | |
Properties inherited from CityBuilderCore.IBuildingComponent | |
Properties inherited from CityBuilderCore.IStorageComponent | |
Properties inherited from CityBuilderCore.IBuildingTrait< IStorageComponent > | |
BuildingComponentReference< T > | Reference [get, set] |
reference to the building trait, use when the building might be replaced and when the reference has to be saved | |
Properties inherited from CityBuilderCore.IItemReceiver | |
Properties inherited from CityBuilderCore.IBuildingTrait< IItemReceiver > | |
BuildingComponentReference< T > | Reference [get, set] |
reference to the building trait, use when the building might be replaced and when the reference has to be saved | |
Properties inherited from CityBuilderCore.IItemOwner | |
Properties inherited from CityBuilderCore.IBuildingTrait< IItemGiver > | |
BuildingComponentReference< T > | Reference [get, set] |
reference to the building trait, use when the building might be replaced and when the reference has to be saved | |
Additional Inherited Members | |
Protected Member Functions inherited from CityBuilderCore.BuildingComponent | |
T | getOther< T > () |
gets the first building component of the specified type on the same building | |
IEnumerable< T > | getOthers< T > () |
gets all building components of the specified type on the same building | |
BuildingComponentReference< T > | registerTrait< T > (T trait) |
registers the building component as a trait so it is globally accessible usually done in InitializeComponent | |
void | replaceTrait< T > (T trait, T replacement) |
replaces the reference a trait points to in the global manager done when a building is replaced(OnReplacing(IBuilding)) so the trait now points to the new component instead of the one that has been removed | |
void | deregisterTrait< T > (T trait) |
removes a previously registered trait usually when a building is removed which calls TerminateComponent | |
|
inlinevirtual |
deserializes the serialized json data and loads the data as its new state
json |
Reimplemented from CityBuilderCore.StorageComponent.
|
inlinevirtual |
serializes the objects state(usually to json) and returns it
Reimplemented from CityBuilderCore.StorageComponent.
|
get |
unique key used to identify the component in save/load
Implements CityBuilderCore.IBuildingComponent.