Loading...
Searching...
No Matches
CityBuilderCore Namespace Reference

Classes

class  AnimatedActionBase
 base class for walker actions that play an animation while they are active
sets a bool parameter in the Walker.Animator to true when started and resets it when is ends More...
 
class  AnimationHappening
 an event that, on activation, modifies the risk values of a set amount of buildings
increase > arsonist, disease outbreak, natural disaster(volcano, earthquake) ...
decrease > blessings, ... More...
 
class  AttackableComponent
 building component that has health and can be attacked, terminates the building when its health runs out More...
 
class  AttackSlowAddon
 walker addon that slows down the attack walker it is attached to
the speed calculation itself is done in the attack walker
the addon just carries the factor and removes itself after a set duration More...
 
class  AttackWalker
 walks to the closest attackable and attacks it periodically until it is dead, rinse and repeat More...
 
class  AudioPool
 manages multiple audio sources for easy access by key More...
 
class  AudioSlider
 allows changing a value of an audiomixer using a slider in the UI, value can also be persisted into player prefs More...
 
class  AverageBuildingScore
 averages the values for different buildings
can be used for assessing the quality of housing More...
 
class  AverageLayerScore
 averages the layer values accross buildings on the map
for example the DesirabilityScore in THREE averages the desirability layer value for all housing buildings More...
 
class  AverageRiskScore
 averages the risk values accross all building in a category
for example the DiseaseScore in THREE averages the disease risk value for all housing buildings so it can be displayed as a bar in the UI More...
 
class  AverageScore
 calculates the mean average of other scores More...
 
class  AverageServiceScore
 averages the service values accross buildings on the map
for example the WaterScore in THREE averages the water service value for all housing buildings so it can be displayed as a bar More...
 
class  BaseTool
 base class for tools that are managed by ToolsManager
gets activated, deactivated, has a cost, ...
in general tools are buttons in the UI that can be clicked to interact with the game world using the pointer
for exmaple placing or demolishing buildings and structures More...
 
class  BehaviourEventTrigger
 provides unity events invoked by the most common unity messages like Start or OnEnable
also contains a couple helper functions that may be useful to be called from the events More...
 
class  BlockingTile
 helper class that combines a tile with a structure level
used in DefaultMap to express which tiles block the placement of certain building levels
for example a lava tile could block all building levels, mountain tiles could allow structures below ground
basically this can be used as an additional building requirement that applies to all buildings More...
 
class  BoolEvent
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  BuilderTaskItem
 task that gets completed when a specific building or road builder has built a set quantity of buildings/roads More...
 
class  Building
 default implementation for IBuilding More...
 
class  BuildingAddon
 temporary building parts that are added(Building.AddAddon<T>(T)) and removed(Building.RemoveAddon(BuildingAddon)) at runtime and carry over when a building is replaced
can be used for effects, statuses, animations, ... More...
 
class  BuildingAddonEffect
 blank building addon that can be used to attach particle effects for example
removal is either done when the building is replaced(Evolution went through) or from the outside(evolution canceled) More...
 
class  BuildingAddonHappening
 an event that, on activation, modifies the risk values of a set amount of buildings
increase > arsonist, disease outbreak, natural disaster(volcano, earthquake) ...
decrease > blessings, ... More...
 
class  BuildingAddonMaterial
 changes materials of renderers on the building while active
for example for outline or highlight materials More...
 
class  BuildingAddonSet
 collection of building addons. if any building addons are saved(BuildingAddon.Save)
a set of all addons in the game is needed by ObjectRepository so they can be found when a game gets loaded More...
 
class  BuildingAddonSpawn
 addon that visualy spawns in the building by scaling it up and rotating it using a coroutine(no animation needed) More...
 
class  BuildingAddonTransformer
 addon that transfers its scale and rotation to the attached building
this can be used to attach animations to any building by animating the addon

in THREE this is used to make buildings pop up with an animation when they are built
to make this happen a BuildingAddonTransform with an animation is assigned to DefaultBuildingManager.AddingAddon More...
 
class  BuildingBuilder
 tool for placing buildings More...
 
class  BuildingCategory
 category for bundling and filtering buildings(entertainment, religion, ....), mainly used in scores More...
 
class  BuildingComponent
 base class for building components implementing IBuildingComponent More...
 
class  BuildingComponentPath
 convenient class combining a component and a path to get there
for example when a delivery walker is looking for a storage the receiverpathfinder decides on the receiver and returns a BuildingComponentPath<IItemReceiver> More...
 
class  BuildingComponentPathQuery
 query that eventually produces a BuildingComponentPath<T>
for example in paths leading to item givers or receivers enables distribution of path calculations across frames More...
 
class  BuildingComponentReference
 reference to a building component that will keep working even when the building gets replaced
it can also be saved to keep building component referenes alive across save/load
should always be used when a reference to a building component is stored in some way More...
 
class  BuildingComponentReferenceData
 
class  BuildingComponentWalker
 base class for walkers that roam and perform actions when passing a certain type of building component
override onComponentEntered(T) and onComponentRemaining(T) to react to components in the walkers area More...
 
class  BuildingEfficiencyVisualizer
 priovides an event that fires when a building starts or stops working
can be used to turn visuals on and off that show whether the building is working
for example a glowing forge or smoke for a smith More...
 
class  BuildingEvaluation
 helper for scores that combines a building with a value
used to define how much value a building type carries in coverage or average building scores More...
 
class  BuildingEvent
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  BuildingInfo
 meta info for data that does not change between instances of a building
can be used to compare buildings(is that building a silo?) More...
 
class  BuildingInfoSet
 some collection of buildings
a set of all buildings in the game is needed by ObjectRepository so buildings can be found when a game gets loaded More...
 
class  BuildingItemsBar
 visualizes item quantities by stacking its icon
used for the food view in THREE More...
 
class  BuildingItemScore
 item quantity in building storage More...
 
class  BuildingRectBar
 visualizes a building value by sizing a rect to its ratio and writing the value in a text field
used for the building health bar in the Defense demo More...
 
class  BuildingReference
 reference to a building that is reset when a building gets replaced
never assign buildings directly when there is any chance they might be replaced More...
 
class  BuildingRequirement
 class that expresses what is needed for a building to be placed, used in the regular BuildingInfo
Mode, Points and Count specify which or how many points of the building are checked
the rest of the fields are the things that those points will be checked against More...
 
class  BuildingRotation
 facade for an integer from 0 to 3 describing the 4 possible directions for a building
used for transforming points in and out of building rotation(keeps building origin the same while rotating size and visuals) More...
 
class  BuildingRotationHexagon
 facade for an integer from 0 to 3 describing the 4 possible directions for a building
used for transforming points in and out of building rotation(keeps building origin the same while rotating size and visuals) More...
 
class  BuildingRotationKeeper
 optional component that keeps rotation between different builders More...
 
class  BuildingRotationRectangle
 facade for an integer from 0 to 3 describing the 4 possible directions for a building
used for transforming points in and out of building rotation(keeps building origin the same while rotating size and visuals) More...
 
class  BuildingScaledBar
 visualizes a building value by scaling a transform along Y
used for the risk and service bars in THREE More...
 
class  BuildingScore
 counts how many buildings currently exist on the map More...
 
class  BuildingServicesBar
 visualizes services by displaying their icon if it is accessible
More...
 
class  BuildingTaskItem
 task that completes when a specific number of buildings or buildings of a category exist at the same time
this could also be done using a score but using this task avoid having to create a seperate score asset More...
 
class  BuildingValueBar
 base class for in game visuals of building values More...
 
class  BuildingValueBars
 helper for DefaultBuildingManager that manages building bars More...
 
class  BuildingWalker
 base class for walkers that roam and perform actions when passing buildings More...
 
class  CameraArea
 shows main camera view area on minimap More...
 
class  CameraController
 camera controller that works with various setups and provides mouse inpurt and main camera interfaces More...
 
class  CameraMouseInput
 provides access to the position of the players pointer position using the IMouseInput interface
usually this is done by the CameraController, this behaviour can be used instead when the camera is static More...
 
class  CollectionComponent
 building component that spawns walkers that collect items from IGenerationComponent
the collected items are either stored in global storage(set Storage to Global) or distributed using a DeliveryWalker More...
 
class  CollectionWalker
 roams around and collects items from the IGenerationComponent it encounters
the kinds of items it collects must be configured in Items More...
 
class  CompositeHappening
 an event that, on activation, modifies the risk values of a set amount of buildings
increase > arsonist, disease outbreak, natural disaster(volcano, earthquake) ...
decrease > blessings, ... More...
 
class  ConnectableTile
 tiles that does not change itself but refreshes connected neighbors More...
 
class  ConnectedHexagonTile
 tile that can be used for connections in hex grids with irregular sizes
check out CityBuilderCore.Tests/Other/HexRoad for examples More...
 
class  ConnectedHexagonTileEQ
 tile that can be used for connections in hex grids with equidistant sizes
check out CityBuilderCore.Tests/Other/HexRoad for examples More...
 
class  ConnectedIsometricTile
 connecting tile for isometric grids, used for roads and rails in the urban demo More...
 
class  ConnectedRectangleTile
 connecting tile for rectangle grids, used in the historic demo also used for the roads in THREE More...
 
class  ConnectedTileBase
 tile that changes based on its neighbors
similar to examples in unity docs and ruletiles in 2d extras
https://docs.unity3d.com/ScriptReference/Tilemaps.Tilemap.RefreshTile.html
https://docs.unity3d.com/2021.1/Documentation/Manual/Tilemap-ScriptableTiles-Example.html
More...
 
class  Connection
 Connections are networks of values on the Map
they consist of feeders which determine the values and passers that just pass them along. More...
 
class  ConnectionFeederBuilder
 special building builder that registers as a preview feeder with its view connection this allows showing how connections would be changed without actually affecting them More...
 
class  ConnectionFeederComponent
 component that feeds into a connection at the buildings points with its value scaled to the buildings efficiency
used on the power station and water pump in the urban demo More...
 
class  ConnectionFeederStructure
 feeds into a connection at the structures points More...
 
class  ConnectionFeederTiles
 feeds and passes a connection on every point that a tile has on a tilemap, only evaluated at the start More...
 
class  ConnectionGrid
 helper class used by DefaultConnectionManager to encapsulate connection handling for one connection More...
 
class  ConnectionIsometricTile
 special connected isometric tile that will connect to any point that has a connection
this allows, for example, pipes in urban to connect to pumps and houses More...
 
class  ConnectionPasserBase
 base class for any behaviour that might pass a connection
passers perpetuate a connection at their points and get notified when any of these changes its connection value
this can be used for things that link up connections(pipes, wires, ..) and also things that use that connection(households) More...
 
class  ConnectionPasserComponent
 passes a connection and influences building efficiency from its connection value More...
 
class  ConnectionPasserStructure
 will pass a connection at the points of a structure More...
 
class  ConnectionPasserTiles
 passes a connection on every point that a tile has on a tilemap, only evaluated which points those are at the start More...
 
class  ConnectionPoint
 helper used by ConnectionGrid to hold the value and passer of a point in the connection grid More...
 
class  ConnectionRectangleTile
 special connected rectangular tile that will connect to any point that has a connection More...
 
class  ConnectionSpriteGradient
 colors sprites in a sprite renderer based on a connection passer
in urban this is used to visualize whether buildings receive power More...
 
class  ConnectionTileGradient
 colors tiles on a tilemap based on a connection passer
in urban this is used to visualize whether water/electricity is running through the pipes/power lines More...
 
class  ConnectionValueVisualizer
 shows the numerical connection value of a point on the map thats under the mouse
gets automatically activated by DefaultOverlayManager when a connectionview is shown More...
 
class  ContinueVisualizer
 checks whether the game can be continued
mission and difficulty can be shown in a text
whether continuing is possible is fired as an event More...
 
class  CoroutineToken
 wrapper around coroutines that allows monitoring its activity and stopping it easily More...
 
class  CoverageScore
 percentage of how much of the population is covered by certain buildings example: 1 temple covers 1x100 | 2 shrines cover 2x50 | population=400 => 50% coverage More...
 
class  CyclicAttackWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  CyclicCollectionWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  CyclicDeliveryWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  CyclicEmigrationWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  CyclicEmploymentWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  CyclicHomelessWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  CyclicImmigrationWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  CyclicItemsRetrieverWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  CyclicPurchaseWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  CyclicRiskWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  CyclicRoamingWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  CyclicSaleWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  CyclicServiceWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  CyclicStorageWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  CyclicWalkerSpawner
 cyclically spawns walkers on its own cooldown
for individual walker cooldowns use PooledWalkerSpawner<T> More...
 
class  CyclicWalkerSpawnerData
 
class  CyclicWanderingWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  CyclicWorkerProviderComponent
 provides workery periodically as long as the buildings is working, spawn rate is influenced by building efficiency More...
 
class  CyclicWorkerWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  Deactivator
 
class  DefaultAttackManager
 default implementation for IAttackManager
attacker targets are chosen purely on distance More...
 
class  DefaultBuildingManager
 manager behaviour that takes care of buildings, walkers and their bars More...
 
class  DefaultConnectionManager
 straightforward conn manager implementation, should suffice for most cases More...
 
class  DefaultGameManager
 default implementation for various meta game functionality(missions, saving, settings, ...) More...
 
class  DefaultHighlightManager
 default implementation for IHighlightManager
uses tiles that are assigned in inspector More...
 
class  DefaultItemManager
 default implementation for the resource systems
More...
 
class  DefaultLayerManager
 layer manager iomplementation that can use a tilemap to define the base values More...
 
class  DefaultMap
 tilemap based map implementation
whether map points are walkable or buildable depends on the tiles on a tilemap
the BuildingRequirement.GroundOptions have to be tile when used with this map More...
 
class  DefaultMapHeight
 sets the heights of entities depending on whether an entity is on a road or the map
a terrain can be defined that will be sampled and added for entities on the map More...
 
class  DefaultNotificationManager
 default implementation of INotificationManager
instantiates a NotificationPanel for every notification that is requested More...
 
class  DefaultOverlayManager
 default implementation of IOverlayManager
shows layer overlay using the color in ViewLayer.Gradientfor tiles in a tilemap
can also display a explanation for the values using LayerKeyVisualizer More...
 
class  DefaultPopulationManager
 default implementation of all people systems bundeld up into one for convenience
More...
 
class  DefaultRoadManager
 simple road manager implementation that creates a single road network out of any Road added
this means walkers will be able to use any road, if you need seperate road networks per road use MultiRoadManager
roads are visualized on the Tilemap on the same gameobject as the manager More...
 
class  DefaultScoresCalculator
 default calculator for scores which calculates and buffers all scores from ObjectRepository.Scores
starts calculations in a checker and spreads them out over multiple frames More...
 
class  DefaultStructureManager
 straightforward IStructureManager implementation
holds collections, decorators and tiles in seperate lists similar to underlying structures More...
 
class  DefaultTooltipManager
 manages the tooltip, tooltips are only displayed after a delay and vanish when the mouse is moved
the UI part of displaying the tooltip is done in TooltipPanel More...
 
class  DefaultViewManager
 
class  DefenderAreaComponent
 building component that periodically checks for attackers in a radius
it can do damage or add addons to the attackers it finds More...
 
class  DefenderComponent
 building component that periodically looks for an attacker in its range and hurts it
that attack is visualized using a line renderer that show a line between defender and attacker More...
 
class  DeliveryWalker
 walker that tries to find an IItemReceiver for the items it is given and deliver them
if it cant find a receiver it will idle until the Walker.MaxWait runs out and the items perish More...
 
class  DemolishTool
 tool that removes structures More...
 
class  DemolishVisual
 moves the visuals of a building over to itself before the building really gets destroyed
therefore the building destruction can be animated while the building has actually already been destroyed More...
 
class  DemolishVisualDespawn
 variant of demolish visual that scales down and rotates itself until it finally removes itself(quick and easy animated despawn without needing actual animation) More...
 
class  Dependencies
 very rudementary dependency management used to decouple implementations
dependencies get cleared whenever the scene changes
in this implementaton all registered types are quasi singletons
could be replaced with something more sophisticated like a tagged or scoped dependencies if necessary
for the purpose of this framework it has been left as simple as possible for performance
 
class  DepopulationHappening
 kills a part of the population on start(relative to the capacity of the housing) More...
 
class  DialogBase
 simple base class for UI dialogs that mostly just provides a way to show and hide it More...
 
class  Difficulty
 object that defines parameters that influence how hard a mission is
for additional parameters just derive from this object More...
 
class  DifficultyFactorHappening
 an event that, while active, augments the game difficulty More...
 
class  DifficultySet
 some collection of buildings
a set of all buildings in the game is needed by ObjectRepository so buildings can be found when a game gets loaded More...
 
class  DiseaseAddon
 addon that simulates a disease
More...
 
class  DisplayOptions
 
class  DistributionComponent
 building component that uses SaleWalkers to check what IItemRecipients need
it then gets them from IItemGivers using PurchaseWalkers
finally the SaleWalkers distributes the items to IItemRecipient More...
 
class  DistributionOrder
 helper for DistributionComponent that combines an item with a ratio More...
 
class  DistributionOrderPanel
 unity ui panel for visualizing and editing a DistributionOrder
only works in combination with the container DistributionOrdersPanel More...
 
class  DistributionOrdersPanel
 container in unity ui that generates DistributionOrderPanel for visualizing and editing DistributionOrder More...
 
class  EmigrationWalker
 walks leaving population out of the map More...
 
class  EmploymentComponent
 building component that uses employees to influence the buildings efficiency
for example in THREE most buildings employ workers
how fast mines and farms create items and whether storage works is bound to employment More...
 
class  EmploymentDialog
 dialog for employment stuff
can be used to configure employment priorities More...
 
class  EmploymentGroup
 types of employment that can have different priorities so less essential groups loose access first(services, logistics, food, industry, ...) More...
 
class  EmploymentGroupPopulation
 container that distributes employees within an EmploymentGroup and CityBuilderCore.Population More...
 
class  EmploymentGroupSet
 some collection of employment groups
a set of all groups in the game is needed in ObjectRepository for the population manager to find priorities More...
 
class  EmploymentPopulation
 container that distributes employees within a CityBuilderCore.Population More...
 
class  EmploymentPriorityPanel
 unity ui panel for switching around the priorities of EmploymentGroup More...
 
class  EmploymentScore
 employment percentage for a certain population More...
 
class  EmploymentVisualizer
 visualizes employment as text in unity ui
More...
 
class  EmploymentWalker
 sums up population count of the housings it passes so a EmploymentWalkerComponent can determine its access to employees More...
 
class  EmploymentWalkerComponent
 building component that uses employees to influence the buildings efficiency
sends out a walker that determines how good the access to employees is
More...
 
class  EnterManualHeightOverride
 sets or resets the height override of any IOverrideHeight(walkers) that enters its trigger
does not do any thing on trigger exit, so setting and resetting has to be done on seperate triggers
used in the urban tunnel demo to set cars heights when they enter and exit the underground(UrbanTunnelEntry/Exit) More...
 
class  EvolutionComponent
 default building component for handling evolution More...
 
class  EvolutionSequence
 sequence of building evolution stages including descriptions and the logic to determine the current stage
More...
 
class  EvolutionStage
 
class  ExpandableBuilder
 special builder that can place ExpandableBuilding of dynamic size by dragging out the size More...
 
class  ExpandableBuilding
 special building that can have different sizes
for example bridges of variable size, fields, storage areas
only works combines with ExpandableBuildingInfo which defines how exactly the building can be expanded More...
 
class  ExpandableBuildingInfo
 special info for buildings that can have variable sizes
for example bridges in THREE, fields and storage areas in TOWN demo More...
 
class  ExpandableCollider
 behaviour that expands a box collider in accordance to an ExpandableBuildings size
the bridge in THREE uses this for the collider that overrides walker heights(Bridge>Pivot>Height) More...
 
class  ExpandableOffGridLink
 specialized version of OffGridLink for expandable buildings
adjusts cost and distance according to the linear expansion of the building More...
 
class  ExpandableStorageVisualizer
 generates visuals for the items stored in a stacked IStorageComponent
the visuals defined in Item are used More...
 
class  ExpandableVisual
 behaviour that can be used to adjust an expandable buildings visuals to its actual size
also adjust the building pivot position to the expanded size
can also be used for the ghost by only filling out the info and leaving the building empty More...
 
class  Extensions
 
class  ExtraDataBehaviour
 base class for behaviours that save data without being otherwise known to the rest of the system
DefaultGameManager finds all instances and saves them with the specified key More...
 
class  Fader
 simple helper that fades a canvas group in or out over a short period More...
 
class  FireAddon
 addon that simulates a fire
More...
 
class  FireWalker
 roams around and reduces the risks of IRiskRecipient while it is in range
when a fire breaks out in its vicinity(collider enter) it runs there and tries to extinguish it More...
 
class  FloatEvent
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  GameSaverProxy
 behaviour that makes save/load accessible to unity events
unity events could also be pointed directly to the game manager but if that is in a different prefab that can get annoying More...
 
class  GameSpeedProxy
 behaviour that makes game speed controls accessible to unity events
unity events could also be pointed directly to the game manager but if that is in a different prefab that can get annoying More...
 
class  GenerationComponent
 building component that periodically generates items(speed influenced by efficiency) More...
 
class  GiveItemsAction
 action that gives items from a giver to the walker and immediately ends
only really makes sense as part of a larger process(walk>give>walk>receive) More...
 
class  GridLinks
 helper used to keep track of IGridLink so they can be quickly retrieved by their position More...
 
class  GridPathfinding
 simple a* implementation for non diagonal pathfinding between equidistant points, used by road and mapGrid pathfinding More...
 
class  GridPathfindingBase
 
class  GridPathfindingBurst
 
class  GridPathfindingSettings
 
class  HappeningDialog
 dialog that shows start/end texts for happenings if they have one More...
 
class  HexagonMap
 adjusts the DefaultMap to work with a hexagon grid More...
 
class  HomelessWalker
 contains population that could not be contained by downgraded housing, roams around randomly until housing is found or the range runs out More...
 
class  HousingComponent
 prodvides housing for the population, influences efficiency by its occuption(efficiency could be used for tax generation for example) More...
 
class  HousingPlaceholderComponent
 waits to be occupied, is then replaced be the actual building More...
 
interface  IAttackable
 a building component that can be attacked More...
 
interface  IAttacker
 interface for any entity that attacks IAttackables and is fended of by DefenderComponents More...
 
interface  IAttackManager
 manages attack system More...
 
interface  IBarManager
 responsible for adding adding and removing visuals for building and walker values More...
 
interface  IBuilding
 
interface  IBuildingComponent
 permanent components making up a buildings behaviour
as such they have to be added to the building transform in the building prefabs
when a building is replaced its components are destroyed with their building
onReplacing is called beforehand so the component can transfer its items and such to an equivalent component in the new building More...
 
interface  IBuildingManager
 the component that tracks all the buildings in the game More...
 
interface  IBuildingTrait
 traits are special kinds of components that are registered inside IBuildingManager for easy access
this makes it easy to retrieve for example all storages or worker users More...
 
interface  IBuildingValue
 any kind of value a building might have(risks, services, items, ...) More...
 
interface  IConnectionFeeder
 an object that, in addition to passing it, also feeds value into a connection
defines some parameters for how that value perpetuates, how exactly those are calculated is defiend in the manager More...
 
interface  IConnectionManager
 handles connections and their values More...
 
interface  IConnectionPasser
 any object that lets a connection pass through its points
gets notified when any of the values at those points change More...
 
interface  IDifficultyFactor
 something influencing difficulty, multiple factors are multiplied More...
 
interface  IDistributionComponent
 a building component that gets items, stores them and then distributes them to ItemRecipient More...
 
interface  IEfficiencyFactor
 put this interface on any building part that needs to affect the buildings efficiency More...
 
interface  IEmployment
 a building component that uses employees More...
 
interface  IEmploymentManager
 manages the employment system More...
 
interface  IEvolution
 building component handling evolution(checking the current stage and replacing the building in case it has changed) More...
 
interface  IGameSaver
 interface for the class that handles the games saving and loading More...
 
interface  IGameSettings
 
interface  IGameSpeed
 
interface  IGenerationComponent
 a building component that generates items More...
 
interface  IGiverPathfinder
 calculates the best path for getting a needed item More...
 
interface  IGlobalStorage
 global storage for items
used for building costs
filled by buildings with ItemStorageMode.Global More...
 
interface  IGridHeights
 optional interface that adjusts the height of entities on the map
the DefaultMapHeight implementation does this by moving them up and down which makes sense for 3d games
2d games can ignore this entirely or perhaps add an implementation that scales entities a little bit More...
 
interface  IGridLink
 links two points on the map or a road network
registered with a IGridLinker so it can be found and added to pathfinding
when a walker actually moves across it control is handed to the link More...
 
interface  IGridLinker
 common interface for objects that handle grid links
made for convenience so road and map linking is interchangable More...
 
interface  IGridOverlay
 displays grid lines overlaying the map More...
 
interface  IGridPositions
 transforms between grid and world positions More...
 
interface  IGridRotations
 rotates transforms, 3d implementations might rotate 360° while isometric games may only mirror More...
 
interface  IHealther
 any object that has health wich should be displayed More...
 
interface  IHighlightManager
 highlights tiles as valid, invalid or just as info
primarily used by building tools More...
 
interface  IHousing
 a building component that houses populations(a hut that provides housing for 20 plebs, a villa that provides housing for 5 snobs) More...
 
interface  IItemContainer
 interface for classes that hold and manage items, the most common implementation is ItemStorage
SplitItemContainer and MultiItemContainer were created so components with more than one storage can act the same as if they only had one More...
 
interface  IItemGiver
 building component that provides others with items More...
 
interface  IItemOwner
 any component that has items in an IItemContainer More...
 
interface  IItemReceiver
 building component that needs to be supplied with items by others(eg production buildings that get supplied by storage) More...
 
interface  IItemRecipient
 building component that receives items passively
for example from a SaleWalker walking by More...
 
interface  IItemsDispenser
 dispenses items to items retrievers
(eg map resources like trees that dispense wood, animals that dispense meat, ...) More...
 
interface  IItemsDispenserManager
 keeps track of all the IItemsDispenser and calculates the dispenser a retriever goes for More...
 
interface  IKeyed
 object that can be uniquely identified by a string key
it can then be retrieved from IKeyedSet<T> by its key More...
 
interface  IKeyedSet
 
interface  ILayerAffector
 an object affecting the layer values, is registered with ILayerManager More...
 
interface  ILayerDependency
 can be put on structures or building parts to get notified when a layer it is on changes
for example housing or roads that evolve when the area is nice enough More...
 
interface  ILayerManager
 handles layer values, may have some built in way to establish base values
ILayerAffector that only affect some points and ILayerModifier that affect a layer globally are registered with it
combining base values, affectors and modifiers it can provide the layer value for every point on the map
the value can be manually requested or automatically delivered when structures or building parts are marked as ILayerDependency More...
 
interface  ILayerModifier
 a global modifier affecting an entire layer regardless of position, is registered with ILayerManager
for example a heat wave or simply the season may raise a heat layer that makes fires more likely More...
 
interface  IMainCamera
 interface used to give acccess to various main camera related things through the dependency system
for example bars that display icons(BuildingItemsBar) have to align the icon with the main cam More...
 
interface  IMap
 basic map functionality like map size and buildability More...
 
interface  IMapGridLinker
 manages links between road points More...
 
interface  IMapGridPathfinder
 pthfinder that uses a A* grid to find a path
builds a complete grid of points so only viable for smaller maps More...
 
interface  IMapPathfinder
 pathfinder that uses the unity navmesh to find a path on the map More...
 
interface  IMissionManager
 
class  ImmigrationWalker
 walks new population into housing More...
 
interface  IMouseInput
 provides access to the current location of the players pointer More...
 
interface  INotificationManager
 shows notification texts to players More...
 
class  InputHelper
 
class  IntEvent
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  InventoryVisualizer
 visualizes the quantity of an item in unity UI More...
 
interface  IObjectPool
 
interface  IObjectSet
 
interface  IOverlayManager
 overlays the tilemap with coloured tiles that visualize Layer, Connection or Efficiency values
eg desirable areas are green, undesirable areas are red More...
 
interface  IOverrideHeight
 interface for entities that can have their height overridden(walkers)
typically this is set for obstacles that are not known to the map
for example in THREE to override the height of walkers when they walk over bridges More...
 
interface  IPathfinder
 pathfinders calculate a path between points using different methods
there is a sub-interface for every PathType, this is done so a particular pathfinder can be requested from Dependencies More...
 
interface  IPopulationManager
 manages the population and housing system
More...
 
interface  IProductionComponent
 building component that produces items from other items More...
 
interface  IProgressComponent
 building component that has come kind of progress
common interface so different progressors can use the same visualizers More...
 
interface  IReceiverPathfinder
 calculates the best path for depositing an item(eg items produced in production) More...
 
interface  IRiskRecipient
 building components that have risks that can be reduced by a RiskWalker or are otherwise executed More...
 
interface  IRoadGridLinker
 manages links between roads More...
 
interface  IRoadManager
 
interface  IRoadPathfinder
 pathfinder that finds a path inside a network of roads(uses A* by default) More...
 
interface  IRoadPathfinderBlocked
 same as IRoadPathfinder but without points that are blocked
points can be blocked using IRoadManager, for example THREE uses the RoadBlockerComponent to do this More...
 
interface  ISaveData
 interface for all kinds of components that contain state that needs saving More...
 
interface  IScoreModifier
 a modifier applied to the result of a score, is registered with IScoresCalculator More...
 
interface  IScoresCalculator
 central repository that calculates and buffers score values
this is expecially important for performance heavy scores that should not be calculated multiple times every frame
More...
 
interface  IServiceRecipient
 building components that have services that can be filled by a RiskWalker More...
 
class  IsometricMap
 implementation for various map and grid functions on an isometric grid with 2d sprites More...
 
interface  IStorageComponent
 building component that stores items, how it does that can be configured in orders More...
 
interface  IStructure
 interface for anything placed on the map(roads, decorators, buildings, ....) More...
 
interface  IStructureManager
 tracks all the IStructures on the map
used to check and retrieve structures at any point on the map More...
 
class  Item
 scriptable object that describes the properties of an item More...
 
class  ItemCategory
 bundels of items for whenever instead of a specific item just a general type of item is needed
eg people need food not just potatoes specifically More...
 
class  ItemCategoryQuantity
 convenience container that combines an ItemCategory with a quantity More...
 
class  ItemCategoryRecipient
 receives any item of a specified category and uses it up over time
items are used in the order that they have in the category More...
 
class  ItemCategoryRequirement
 helper used in EvolutionStage to set that a certain amount of an item category is needed to evolve
for example housing might need 3 types of food and 2 types of luxury items to evolve More...
 
class  ItemConsumer
 simple container that can check for an item quantity and remove it from a storage
eg raw materials in production components More...
 
class  ItemEfficiencyComponent
 building component that influences efficiency based on what items it has access to
items are consumed over time and efficiency drops if they run out More...
 
class  ItemLevel
 convenience container that combines an item with a quantity and a capacity
can be used to represent how filled something is with an item More...
 
class  ItemPanel
 visualizes a specific item and its stored quantity
only works in combination with the container ItemsPanel More...
 
class  ItemProducer
 simple container that can check if an item quantity fits and adds it to a storage
eg finished goods in production components More...
 
class  ItemQuantity
 convenience container that combines an item with a quantity More...
 
class  ItemRecipient
 receives a specific item and uses it up over time
More...
 
class  ItemScore
 item quantity in global storage More...
 
class  ItemSet
 some collection of items
a set of all items in the game is needed by ObjectRepository so items can be found when a game gets loaded More...
 
class  ItemsGiverAction
 walks to an IItemGiver and gives items to the walker More...
 
class  ItemsPanel
 container in unity ui that generates ItemPanel for visualizing stored item quantities/> More...
 
class  ItemsReceiverAction
 walks to an IItemReceiver and lets the receiver get items from the walker More...
 
class  ItemsRetrieverComponent
 periodically spawns RetrieverWalkers to get items from dispensers
the retrieved items are either stored in global storage(set Storage to Global) or distributed using a DeliveryWalker
(eg hunter or lumberjack hut) More...
 
class  ItemsRetrieverWalker
 walker that retrieves items from IItemsDispenser filtered by their key
does not adjust the path when the dispenser moves
if it arrives at its destination and the dispenser is out of RetrieveDistance it will move again to get close enough More...
 
class  ItemStack
 sub container for item 'slots' for storages in ItemStorageMode.Stacked
a stacked storage can define a number of stacks
each stack can only contain one type of item
makes for some nicely visualized storages More...
 
class  ItemStorage
 general container for storage of items, use whenever anything owns items
defines various convenience methods for moving and checking items that abstract its different storage modes More...
 
class  ItemStorageHappening
 an event that, on activation, adds or removes the specified items
add > story based deliveries, discoveries, ...
decrease > spoiled food, thieves, ... More...
 
class  ItemStore
 behaviour that does nothing except store items
can be used in ItemStorages with ItemStorageMode.Store to combine storages
for example this can be used to combine the storage across different components of the same building More...
 
class  ItemStorer
 Utility class that adds items to an IItemOwner on the same gameobject when is starts, mostly used for testing. More...
 
class  ItemTaskItem
 task that completes when a specific number of items is found
this could also be done using a score but using this task avoid having to create a seperate score asset More...
 
interface  IToolsManager
 manages the tool activation and tool cost More...
 
interface  ITooltipManager
 manages displaying tooltips in the UI More...
 
interface  ITooltipOwner
 any object that has a tooltip More...
 
interface  IViewsManager
 manages the active View More...
 
interface  IWalkerManager
 keeps track of all the active walkers in the game More...
 
interface  IWalkerValue
 any kind of value a walker might have(items, ...) More...
 
interface  IWorkerUser
 building component that uses workers, needs to call finish on the worker when done More...
 
interface  IWorkplaceFinder
 finds the optimal workplace for any given worker and provide it with a path to work and supply if necessary More...
 
class  KeyedBehaviour
 behaviour that can be uniquely identified by a string key
it can then be retrieved from KeyedSet<T> by its key More...
 
class  KeyedObject
 scriptable that can be uniquely identified by a string key
it can then be retrieved from KeyedSet<T> by its key More...
 
class  KeyedSet
 
class  Layer
 layers are arrays of numbers underlying the map points(desirability, fertility, resources) More...
 
class  LayerAffector
 affector that uses the points of an IStructure on the same or the parent component
for example in THREE trees raise desirability needed by housing and ore structures affect the iron layer which is needed to place mines More...
 
class  LayerAffectorTile
 defines a layer value and falloff for a tile on a tilemap
is used by DefaultLayerManager to establish the base layer values More...
 
class  LayerAffectorVisualizer
 used by LayerKeyVisualizer to display the value for an affector More...
 
class  LayerAffectorWorking
 special layeraffector that only affects as long as its building is working
the building has to be on the same gameobject or the parent one
for example stages in THREE only provide entertainment to the area when have workers(WorkerUserComponent) More...
 
class  LayerAttribute
 
class  LayerBuildingBuilder
 special building builder that also highlights points around the building
these points follow the same rules as layers(range, falloff) so they can be used as a preview for layer affectors More...
 
class  LayerEfficiencyComponent
 derives its building efficiency from the layer value at building origin(for example to influence farming speed from fertility layer)
only changes the efficiency factor and does not completely disrupt it More...
 
class  LayerKey
 explanation of the computed layer value at a point (Base+Affectors=Total)
can be obtained for any point on the map by calling ILayerManager.GetKey(Layer, UnityEngine.Vector2Int) More...
 
class  LayerKeyVisualizer
 shows all the different factors that go into the layer value of a point on the map
gets automatically activated by DefaultOverlayManager when a layerview is shown More...
 
class  LayerMapHeight
 applies height to objects by changing their layer when there is a height override that fits one of the Heights
used in the urban tunnel demo to change cars in the underground to the underground layer More...
 
class  LayerModifierHappening
 an event that, during its activity, globally modifies a layers values
might be used for weather or seasons(heat, fertility, ...) More...
 
class  LayerPosition
 helper for LayerValues that holds the current value of a point and all the affectors that affect it More...
 
class  LayerRequirement
 defines a valid range for a layer value
used in BuildingRequirement to check if a building can be built on a point
used by EvolutionStage and RoadStage to check an evolution More...
 
class  LayerValues
 
class  LazyDependency
 
class  ManualAttackWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  ManualCollectionWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  ManualDeliveryWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  ManualEmigrationWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  ManualEmploymentWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  ManualHomelessWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  ManualImmigrationWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  ManualItemsRetrieverWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  ManualPurchaseWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  ManualRiskWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  ManualRoamingWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  ManualSaleWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  ManualServiceWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  ManualStorageWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  ManualWalkerSpawner
 walker spawner that does not spawn on its own More...
 
class  ManualWalkerSpawnerData
 
class  ManualWanderingWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  ManualWorkerWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  MapBase
 base class for maps that provides overridable default implementations for all the grid handling
which points on the map can be walked or built upon is up to the concrete map implementation that inherits from this base More...
 
class  MaterialSwitcher
 utility components that provides a helper method that lets users switch between two materials More...
 
class  MeshHighlightManager
 implementation of IHighlightManager that creates and dynamically adjusts meshes More...
 
class  MessageAction
 action that sends a message to the walker, can be intercepted on the walkers message events for example to play sounds
ends immediately so only really makes sense as part of a larger process More...
 
class  MessageBoxDialog
 
class  MessageEvent
 serializable utility class that combines a message with an event
useful for defining actions for particular messages directly in the inspector
for example playing a sound or showing some particles when a weapon is swung More...
 
class  MessageHappening
 an event that sends messages to a named object, leave messages empty to not send More...
 
class  MessageReceiver
 behaviour that can receive and pass simple string messages
events allow attaching actions to certain messages in the inspector More...
 
class  Migration
 moves population quantities into and out of the map depending on the current sentiment More...
 
class  Minimap
 simple minimap implementation
automatically moves a camera to fit the entire map
can be clicked and dragged on the set the main camera position More...
 
class  Mission
 object that defines general information about a level More...
 
class  MissionDialog
 dialog for mission stuff
just a wrapper for MissionVisualizer More...
 
class  MissionParameters
 contains all parameters needed to start a scene
additionally to the Mission which contains what to start this defines how it is started
More...
 
class  MissionSet
 some collection of buildings
a set of all buildings in the game is needed by ObjectRepository so buildings can be found when a game gets loaded More...
 
class  MissionTaskItem
 task that completes when the current mission is completed within the playthrough
useful for the final task in a list that gives pointers on how to complete the mission More...
 
class  MissionVisualizer
 displays mission info in unity ui and provides methods for starting/continuing it More...
 
class  MonumentSiteComponent
 building component that goes through multiple stages of building before being replaced be the finished building
the building process uses workers and items, the workers can take custom paths in and out of the site More...
 
class  MonumentStage
 represents one stage of the building process of a monument More...
 
class  MonumentStep
 single step of building within a MonumentStage More...
 
class  MoveTool
 tool that moves one or more structures to a different position
which structures can be moved is determined by IStructure.IsMovable
this can be set in BuildingInfo for buildings, some structures have a checkbox More...
 
class  MultiItemContainer
 item container that combines different ItemStorages
used in the EvolutionComponent in which storage is split among the different recipients More...
 
class  MultipliedScore
 multiplies another score More...
 
class  MultiRoadManager
 road manager implementation 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
roads are visualized on the Tilemap on the same gameobject as the manager More...
 
class  NavMeshPathfinding
 
class  NavMeshUpdater
 can be used to update the navmesh at runtime using known components
source creation taken from https://github.com/Unity-Technologies/NavMeshComponents More...
 
class  NoPathfinding
 fallback pathfinding that just returns a straight path from start to target More...
 
class  NotificationPanel
 
class  NotificationRequest
 request sent to the INotificationManager to request that a notification gets displayed More...
 
class  ObjectGenerator
 utility class that can be used to randomly place some objects
used in Three for bushes and pebbles More...
 
class  ObjectPool
 simple object pooling implementation accessible through the dependency system and used in walker spawners for example More...
 
class  ObjectRepository
 repository used to define and find the objects available to a scene More...
 
class  ObjectSet
 
class  ObjectSetBase
 scriptable object that stores an array of other objects
used for things like BuildingInfoSet to store a known collection of buildings More...
 
class  ObjectTile
 tile that instantiates gameobjects More...
 
class  OffGridLink
 creates a link between two points in grid and road pathfinding
grid links are the grid pathfinding equivalent to off mesh links in navmesh
basically a grid link registers a link between two points in the pathfinding
when moving between these two points the linker determines how a walker moves
this can be used for special movement on bridges, ramps, ... More...
 
class  ParticleHappening
 an event that, during its activation, plays particles More...
 
class  PathHelper
 helper provides various convenience functions for pathfinding
chooses the right IPathfinder for a given PathType and passes the pathing parameters to it
 
class  PathQuery
 query that eventually produces a WalkingPath
enables distribution of path calculations across frames More...
 
class  PlaytimeVisual
 displays the current playtime in unity ui More...
 
class  PointerToolBase
 special base class for tools that use the pointer
handles differences between mouse/touch
manages mouse down/up for dragging More...
 
class  PointsChanged
 
class  PointValueEvent
 
class  PooledAttackWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  PooledCollectionWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  PooledDeliveryWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  PooledEmigrationWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  PooledEmploymentWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  PooledHomelessWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  PooledImmigrationWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  PooledItemsRetrieverWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  PooledPurchaseWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  PooledRiskWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  PooledRoamingWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  PooledSaleWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  PooledServiceWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  PooledStorageWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  PooledWalkerSeat
 helper class for PooledWalkerSpawner<T> that holds the cooldown for each individual walker More...
 
class  PooledWalkerSpawner
 cyclic spawner with individual cooldowns for walkers and a spawner cooldown between walkers More...
 
class  PooledWalkerSpawnerData
 
class  PooledWanderingWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  PooledWorkerProviderComponent
 provides a fixed quantity of workers periodically as long as the buildings efficiency is working
workers need to return and wait out their cooldown before being deployed again More...
 
class  PooledWorkerWalkerSpawner
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  Population
 type of population(plebs, middle class, snobs, ...)
More...
 
class  PopulationEmployment
 helper that EmploymentComponent uses to define which populations and employment groups it used and how many More...
 
class  PopulationHousing
 helper for HousingComponent that specifies the capacity of a certain population the housing can hold
used during runtime to store the currently present and reserved quantities More...
 
class  PopulationScore
 quantity of a certain population More...
 
class  PopulationSet
 some collection of populations
a set of all populations in the game is needed in ObjectRepository so populations can be found when a game gets loaded More...
 
class  PopulationVisualizer
 visualizes employment as text in unity ui
More...
 
class  PositionHelper
 
class  ProcessState
 helper class for Walker that holds the current status of a running process
a process is a series of WalkerActions that is usually started from within the walker
ProcessState takes care of tracking the currently active action as well as advancing to the next one or canceling the process
Walker.StartProcess(WalkerAction[], string) starts a new process, when a walker is loaded use Walker.continueProcess
a process can be canceled by Walker.CancelProcess which may not end the process immediately but rather when the walker is in an ok state next More...
 
class  ProductionComponent
 building component that periodically consumes and produces items
production time is only started once the consumption items are all there
does not take care of item logistics More...
 
class  ProductionWalkerComponent
 building component that periodically consumes and produces items
production time is only started once the consumption items are all there
consumption items have to be provided by others, produced items get shipped with DeliveryWalker More...
 
class  ProgressComponent
 base class for building components implementing IProgressComponent
basically any component that progresses over time, does something and resets More...
 
class  ProgressMultiScaler
 visualizes the progress of a ProgressComponent by scaling multiple transforms
scales are all increased in parallel, can be made more visually interesting using Variance
(eg the plants at a farm) More...
 
class  ProgressScaler
 scales itself according to the attached ProgressComponent More...
 
class  ProgressThreshold
 helper for ProgressThresholdVisualizer that combines a threshold value with the gameobject that threshold will activate More...
 
class  ProgressThresholdVisualizer
 visualizes a ProgressComponent by checking against thresholds and showing and hiding the linked objects for example in the historic demo farms use this to show progressively more grown fields More...
 
class  PurchaseWalker
 walker that gets items from an IItemGiver to an IDistributionComponent More...
 
class  ReceiveItemsAction
 action that lets a receiver get items from the walker and immediately ends
only really makes sense as part of a larger process(walk>give>walk>receive) More...
 
class  ReloadingItemsDispenser
 items dispenser that reloads its charges over time More...
 
class  Risk
 base class for risks
risks are special building values that execute when their value fills up completely
for example fire risk that adds up and causes a fire over time unless preventative measures are provided More...
 
class  RiskBuildingAddon
 a risk that when executed adds an addon to its building
eg Fire, Disease, ... More...
 
class  RiskBuildingReplacement
 a risk that when executed replaces its building with something else
More...
 
class  RiskBuildingTermination
 a risk that when executed terminates the building More...
 
class  RiskCategory
 bundels of risks for whenever instead of a specific risk just a general type of risk is needed
useful mainly for views and visualizations that encompass multiple risks More...
 
class  RiskerComponent
 building componnent for risks
updates risks, executes and resolves them and tries to transfer their values when the building gets replaced More...
 
class  RiskModificationHappening
 an event that, on activation, modifies the risk values of a set amount of buildings
increase > arsonist, disease outbreak, natural disaster(volcano, earthquake) ...
decrease > blessings, ... More...
 
class  RiskRecipient
 holds the value for a risk and increases it over time
More...
 
class  RiskStructureReplacement
 a risk that when executed replaces the building with structures(eg Rubble) More...
 
class  RiskWalker
 roams around and reduces the risks of IRiskRecipient while it is in range More...
 
class  RiskWalkerComponent
 building component that periodically spawns a RiskWalker More...
 
class  Road
 defines a kind of road that can be placed on the map with a RoadBuilder and an IRoadManager
in THREE that is just a single road that evolves to a fancier version as defined in RoadStage
the urban demo has multiple roads with seperate road networks(MultiRoadManager) More...
 
class  RoadBlockerComponent
 building component that can block walkers that use PathType.RoadBlocked from using roads it is built on
when no tags are defined it will block all walkers, otherwise it will block the defined tags which can be switched on and off(RoadBlockerPanel)
the road blockers in THREE use WalkerInfos as tags which are sent using WalkerInfo.PathTagSelf More...
 
class  RoadBlockerPanel
 container in unity ui that generates toggles for visualizing and editing which tags a roadblocker blocks/> More...
 
class  RoadBlockerToggle
 behaviour that can turn a tag on a RoadBlockerComponent on or off so that the related walkers can/cannot pass More...
 
class  RoadBuilder
 tool for placing roads More...
 
class  RoadManagerBase
 base class for simple road managers that create a single road network out of any Road added
this means walkers will be able to use any road, if you need seperate road networks per road use RoadManagerBaseMulti
the base class provides all the plumbing between the network and manager
the implementations have to provide the actual RoadNetwork which determines how roads are visualized More...
 
class  RoadManagerBaseMulti
 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 More...
 
class  RoadNetwork
 helper used by IRoadManager to manage a single road network
it holds the pathfinding for both regular and blocked road pathing
also it counts as a IStructure and can therefore be queried and checked against using IStructureManager
this basic RoadNetwork is not visualized in any way, it is only a logical helper
for a visualized network inherit this class and implement setPoint(Vector2Int, Road) and checkPoint(Vector2Int)
examples of this can be found in TilemapRoadNetwork and TerrainRoadNetwork More...
 
class  RoadRequirement
 requirement that specifies a point and some parameters a road at that point has to match
both Road and Stage if any kind of road is ok
currently only used as a requirement for buildings(BuildingInfo.RoadRequirements)
for example in the stages and bridges in THREE More...
 
class  RoadSet
 some collection of roads, a set of all roads should be set in ObjectRepository More...
 
class  RoadStage
 helper class for Road which combines a layer requirement with road visuals
this is useful for roads that may change appearance whensome layer requirement is met(THREE demo)
if no such behaviour is needed just add a single stage and leave the requirement empty More...
 
class  RoadSwitcherComponent
 building component that creates an entry-exit road switch
road switching can enable walkers to temporarily use foreign road networks
entry exit switches are special in that a walker can only enter/exit the switch from one point
this can be useful for over/underpasses, for an example check out the tunnel scene in the urban demo More...
 
class  RoamAction
 makes the walker roam More...
 
class  RoamActionTyped
 makes the walker roam on a specified path type More...
 
class  RoamingState
 helper class for Walker that hold the current status of its roaming
roaming is a special kind of randomly walking around which memorizes and avoids the points it has already been to More...
 
class  RoamingWalker
 walker that semi randomly walks around and then returns home
has a memory so it diversifies the route More...
 
class  RotateAction
 
class  RuntimeKeyedSet
 
class  RuntimeObjectSet
 
class  SaleWalker
 roams around and takes note of what items the IItemRecipient it encounters need and supplies them if it carries the item More...
 
class  SaveHelper
 
class  SaveVisualizer
 
class  SaveVisualizerItem
 
class  Score
 base class for scores used for win conditions and statistics
a score is an asset that provides the method of calculating an int value
the value can be gotten directly using Calculate but it is recommended to use GetCalculatorValue
because the value is buffered there, just make sure there is a IScoresCalculator in the scene
More...
 
class  ScoreEfficiencyComponent
 derives its building efficiency from a score More...
 
class  ScoreModifierHappening
 an event that, during its activity, modifies a score
might be used for weather, seasons(summer-happiness, fertility, ...) or to decrease the player score over time More...
 
class  ScorePanel
 visualizes a score
More...
 
class  ScoreSet
 some collection of scores
a set of all scores in the game is needed by ObjectRepository so the IScoresCalculator can calculate them More...
 
class  ScoreTaskItem
 task that completes when a score reaches a certain value More...
 
class  ScoreVisualizer
 visualizes a score in unity ui More...
 
class  ScriptableHelper
 
class  SelectionDialog
 dialog that displays information about the selected building More...
 
class  SelectionSwitcher
 ui behaviour that allows cycling through selected buildings or walkers of the same type More...
 
class  SelectionTool
 selects walkers and buildings under the mouse on click More...
 
class  Service
 services are special building values that are filled by walkers and decrease over time More...
 
class  ServiceCategory
 bundels of services for whenever instead of a specific service just a general type of service is needed
eg housing needs two types of religions to evolve from whatever god is available More...
 
class  ServiceCategoryRecipient
 receives any service of a specified category and uses it up over time
basically just automatically manages a ServiceRecipient for every active service
values are kept seperately, evolutions check how many different services of the category are currently available More...
 
class  ServiceCategoryRequirement
 requirement used in EvolutionStage to specify that a building needs access to a certain number of services in a category to evolve
for example a building may need access to 3 different temples and 2 type of entertainment to evolve More...
 
class  ServiceEfficiencyComponent
 component that influences the building efficiency base on its access to services More...
 
class  ServiceModificationHappening
 an event that, on activation, modifies the service values of a set amount of buildings
increase > blessings, self sufficiency ...
decrease > water leak, thief, ... More...
 
class  ServiceRecipient
 holds the value for a service and decreases it over time
More...
 
class  ServiceWalker
 roams around and fills the services of IServiceRecipient while it is in range More...
 
class  ServiceWalkerComponent
 building component that periodically spawns a ServiceWalker More...
 
class  SingleItemsDispenser
 items dispenser that dispenses once and then self destructs More...
 
class  SplitItemContainer
 item container that combines different ItemStorages that are each meant for one specific item
used in the ProductionComponent where storage is split between different producers and consumers More...
 
class  SpriteColorRandomizer
 sets a random color for some sprite renderers, can be used to set some random color for a little visual variation More...
 
class  SpriteHighlightManager
 implementation of IHighlightManager that instantiates sprites More...
 
class  SpriteRandomizerComponent
 building component selects a random sprite for a renderer
it also saves which sprite was selected so it stays consistent across saves
used in the urban demo to get some visual variety in houses that are otherwise identical More...
 
class  StateManager
 
class  StorageComponent
 building component that stores items
More...
 
class  StorageOrder
 
class  StorageOrderPanel
 unity ui panel for visualizing and editing a StorageOrder
only works in combination with the container StorageOrdersPanel More...
 
class  StorageOrdersPanel
 container in unity ui that generates StorageOrderPanel for visualizing and editing StorageOrder More...
 
class  StorageQuantityVisual
 visualizes item quantity by setting gameObjects activity More...
 
class  StorageQuantityVisualizer
 generates visuals for the items stored in a stacked IStorageComponent
the visuals defined in Item are used More...
 
class  StorageVolumeVisualizer
 scales and colours meshes for the items stored in a stacked IStorageComponent
uses the material defined in Item.Material More...
 
class  StorageWalker
 walker for storage functions:
Supplies IItemReceiver | Gets items from IItemGiver | empties items into IItemReceiver More...
 
class  StorageWalkerComponent
 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
More...
 
class  StructureBuilder
 tool for adding points to a StructureCollection or StructureTiles More...
 
class  StructureCollection
 structure made up of a collection of identical gameobjects
if the members of the collection are ISaveData that data will also be stored More...
 
class  StructureDecorators
 structure made up of different decorators, used for random map objects that will be removed when something is built in their place
the prefab that will be used for when the game is loaded is determined by the gameobjects name so this should at least start with the prefab name More...
 
class  StructureLevelManager
 helper used by DefaultStructureManager to store the structure references for one structure level More...
 
class  StructureLevelMask
 these flags define which levels a structure occupies, 0 for all levels
a structure can occupy multiple levels, for example 5 would occupy level 1 and 3
structures can only exist on the same point if they occupy different levels More...
 
class  StructurePathManager
 manages one variant of structure pathing(there is only more than one if there are StructurePathOptions)
used by StructurePaths which manages the structure pathing for DefaultStructureManager More...
 
class  StructurePathOption
 
class  StructurePaths
 manages the different variants of mag grid pathing for DefaultStructureManager
there is only one variant if there are no special StructurePathOptions defined More...
 
class  StructurePointEnabler
 enables a gameobject depending on whether it has all the defined points More...
 
class  StructureReference
 holds a reference to a structure which may be replaced(for example buildings being replaced when they evolve)
therefore if a structure is replaced by some other equivalent structure references that other entities have on it dont break More...
 
class  StructureRoadBlocker
 blocker that uses the points of an IStructure on the same or the parent component
blocking prevents a Walker with PathType.RoadBlocked from using a point More...
 
class  StructureRoadRegisterer
 registers roads at every point of the structure on the same or the parent gameobject
could be used to built roads out of some 3d strctures in addition or instead of tiles More...
 
class  StructureRoadSwitcher
 registers road switches at every point of the structure
demonstrated in the SwitchRoadDebugging test scene More...
 
class  StructureTerrainDetails
 structure that removes terrain detail using a TerrainModifier
this structure is very special in that it does not have any concrete points
GetPoints will return nothing but HasPoint(Vector2Int) will always return true
since it is a decorator it will not block building but because of its special setup it will always be told to remove points when something is built
More...
 
class  StructureTerrainTrees
 structure that adds and removes terrain trees using a TerrainModifier
More...
 
class  StructureTiles
 structure made up of a collection of tiles on a tilemap More...
 
class  StructureTilesRefresher
 behaviour that will refresh tiles under and around an attached building
if no building is found the point under the transform and the ones around it are refreshed
used in the urban demo so that tiles attach to buildings, for example power lines to houses More...
 
class  SummedBuildingScore
 sums the values for different buildings
for example monument scores are added together More...
 
class  SummedScore
 sums other scores together More...
 
class  TakeItemsAction
 action that removes items from a building and adds them to the walker
ends immediately so only really makes sense as part of a larger process More...
 
class  TaskItem
 base class for tasks within TaskList/TaskStage
More...
 
class  TaskList
 manages a list of TaskStage, useful for showing a list of tutorial task to players
determines which stage is visible and persists task state and stage completion More...
 
class  TaskStage
 stage within a TaskList that consists of several TaskItems More...
 
class  TerrainMap
 terrain based map implementation, whether map points are buildable depends on the terrain
currently only checks if the height of the terrain is in an acceptable range to see if it can be built on More...
 
class  TerrainModifier
 used to modify and persist terrain data More...
 
class  TerrainRenderSimplifier
 hides trees and details from a terrain for the camera it sits on
used for the minimap in the town demo More...
 
class  TerrainRoadManager
 simple road manager implementation that creates a single road network out of any Road added
roads are visualized on the Terrain on the same gameobject as the manager using a TerrainRoadNetwork
when using a TerrainModifier with TerrainModifier.Alphas the roads are saved there and not persisted by the road manager More...
 
class  TerrainRoadNetwork
 RoadNetwork implementation that visualizes the roads of the network on a Terrain
the RoadStage.Index determines which terrain layer is used
when a road is removed the layer at the groundIndex is set More...
 
class  ThresholdScore
 transform a score by defining thresholds
for example the HAPEmploymentScore in THREE defines that employment under 50% causes a loss of 8 happiness More...
 
class  TilemapRoadNetwork
 RoadNetwork implementation that visualizes the roads of the network on a Terrain
the RoadStage.Index determines which terrain layer is used
when a road is removed the layer at the groundIndex is set More...
 
class  TilemapSpawner
 spawns instances of a prefab up to a maximum number
spawn position is randomly selected either from all tiles or just one specific tile on a tilemap
tile positions are selected at the start for performance reasons so changing the tilemap at runtime wont have an effect on the spawner More...
 
class  TimedReplacementComponent
 building component that replaces the building after a defined time has passed More...
 
class  TimingAnimationLoop
 behaviour that constantly sets an animator to the current progress of a timing unit check out the Lights in THREE for an example More...
 
class  TimingCondition
 used to describe a timeframe in game time using a timing unit
for example a condition with Unit:Day and Number:3 will be active on the 3rd day every month
can be combined in TimingHappeningOccurence to define when a happening is active More...
 
class  TimingHappening
 base class for timed events More...
 
class  TimingHappeningOccurence
 helper used to specify when a happening occurs
condition of the same unit are ORed, conditions of different units are ANDed
eg Day:2|Day:3|Month:4 will occur on the 2nd and 3rd day of every 4th month More...
 
class  TimingHappeningState
 helper class that keeps track of the state of happenings and correctly calls their lifetime methods More...
 
class  TimingHappeningStateEvent
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  TimingUnit
 describes some unit of time in the game that can be used to display playtime or specify when happenings should occur More...
 
class  ToolEvent
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  ToolsActivator
 helper for activating a tool from a UnityEngine.UI.Toggle More...
 
class  ToolsGroup
 has one current tool and a selection of other tools that are shown on mouse over
when one of the other tools gets activated it becomes the current tool
More...
 
class  ToolsGroupContent
 only exists because OnPointerExit behaviour has changed in Unity 2021
can be removed in earlier versions More...
 
class  ToolsManager
 simple IToolsManager implementation that should suffice for most cases More...
 
class  TooltipArea
 can be put on any raycast UI objects to display a manually set tooltip More...
 
class  TooltipOwnerBase
 base class for ui behaviours that display tooltips More...
 
class  TooltipPanel
 displays a tooltip in the UI
manages its position and display of name and description More...
 
class  TownJob
 some tasks can only be done by walkers with a specific job
for example building a house or farming More...
 
class  TownJobSet
 some collection of jobs
a set of all jobs in the game is needed by TownManager More...
 
class  TransformRoadBlocker
 blocker that simply blocks its own position in the IRoadManager blocking prevents a Walker with PathType.RoadBlocked from using a point More...
 
class  TriggerHeightOverride
 when any IOverrideHeight(walkers) enters a trigger with this behaviour the height override is set to the position of the behaviour
it also resets the height override once the object exits its trigger
used in THREE in combination with ExpandableCollider to set the height of walkers passing over bridges More...
 
class  UnityAnimatorEvent
 proxy for setting animator values from unityevents More...
 
class  UnityAnimatorEvents
 proxy for setting animator values from unityevents More...
 
class  UnityAnimatorEventVector
 proxy for setting animator values from unityevents More...
 
class  UnityKeyEvent
 fires unity events when a key is pressed or released More...
 
class  VariantProductionComponent
 building component that periodically consumes and produces items
production time is only started once the consumption items are all there
does not take care of item logistics More...
 
class  VariantProductionWalkerComponent
 building component that periodically consumes and produces items
production time is only started once the consumption items are all there
consumption items have to be provided by others, produced items get shipped with DeliveryWalker More...
 
class  Vector2Event
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  Vector2IntEvent
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  Vector3Event
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  View
 base class for views
views are ways to show additional information in game that can be activated
for example bars over buildings, different camera cullings, overlays on tilemaps, ... More...
 
class  ViewActivator
 helper for activating a view from a UnityEngine.UI.Toggle More...
 
class  ViewBuildingBar
 base class for views that visualize a IBuildingValue with a bar More...
 
class  ViewBuildingBarBase
 non generic base class so ViewBuildingBar<T> can be accessed in IBarManager More...
 
class  ViewBuildingHealthBar
 
class  ViewBuildingItemBar
 
class  ViewBuildingItemCategoryBar
 
class  ViewBuildingItemsBar
 
class  ViewBuildingLayerBar
 
class  ViewBuildingRiskBar
 
class  ViewBuildingServiceBar
 
class  ViewBuildingServiceCategoryBar
 
class  ViewComposite
 view that transfers activation to its children More...
 
class  ViewConnection
 view that displays an overlay for a layer on a tilemap More...
 
class  ViewCulling
 view that changes camera culling
eg hiding irrelevant buildings More...
 
class  ViewEfficiency
 view that displays an overlay for efficiency on a tilemap More...
 
class  ViewLayer
 view that displays an overlay for a layer on a tilemap More...
 
class  ViewWalkerBar
 base class for views that visualize a IWalkerValue with a bar More...
 
class  ViewWalkerBarBase
 non generic base class so ViewWalkerBar<T> can be accessed in IBarManager More...
 
class  ViewWalkerHealthBar
 
class  ViewWalkerItemBar
 
class  ViewWalkerItemCategoryBar
 
class  ViewWalkerItemsBar
 
class  ViewWalkerRiskBar
 
class  ViewWalkerRiskCategoryBar
 
class  ViewWalkerServiceBar
 
class  ViewWalkerServiceCategoryBar
 
class  WaitAction
 action that simply waits for a set time More...
 
class  WaitAnimatedAction
 action that simply waits for a set time and plays an animation More...
 
class  WaitingState
 helper class for Walker that hold the current status when it is just waiting for a set time
More...
 
class  WalkBuildingAction
 attempts to walk to a building More...
 
class  Walker
 base class for entites moving about the map
typically created by some kind of WalkerSpawner<T> on a building
some other ways to create walkers are having spawners on a global manager(urban, town)
or even instantiating and managing the walker save data yourself(TilemapSpawner used in defense) More...
 
class  WalkerAction
 encapsulated action a walker can perform, started as part of a ProcessState in Walker.StartProcess(WalkerAction[], string)
this enables easier higher level walker control, the walker no longer has to directly hold all the state of the different actions it can perform
instead it can just start a process that does multiple things in series(walk somewhere>pick up item>walk back>deposit item)
these are directly serialized, if they contain state that is not directly serializable use ISerializationCallbackReceiver More...
 
class  WalkerAddon
 temporary objects that are added(Walker.AddAddon<T>(T)) and removed(Walker.RemoveAddon(WalkerAddon)) at runtime
can be used for effects, statuses, animations, ... More...
 
class  WalkerAddonEffect
 blank walker addon that can be used to attach particle effects for example More...
 
class  WalkerAddonHappening
 an event that, on activation, modifies the risk values of a set amount of buildings
increase > arsonist, disease outbreak, natural disaster(volcano, earthquake) ...
decrease > blessings, ... More...
 
class  WalkerAddonMaterial
 changes materials of renderers on the walker while active
for example for outline or highlight materials More...
 
class  WalkerAddonSet
 a collection of walker addons
if any walker addons are saved(WalkerAddon.Save) a set of all walker addons in the game is needed by ObjectRepository so addons can be found when a game gets loaded More...
 
class  WalkerAreaMask
 object that just contains a NavMesh area mask
can be used as a tag for pathfinding(WalkerInfo.PathTag)
so the walker only walks on certain NavMesh areas More...
 
class  WalkerComponent
 building component that periodically spawns a RoamingWalker More...
 
class  WalkerEvent
 concrete implementation for serialization, not needed starting unity 2020.1 More...
 
class  WalkerInfo
 meta info for data that does not change between instances of a walker
can be used to compare walkers
the animation section can be used to directly set animation parameters on the main Walker.Animator
this is done in the town demo, the other demos instead use unity events liks Walker.IsWalkingChanged configured in the inspector and UnityAnimatorEvents More...
 
class  WalkerInfoSet
 some collection of walkers
a set of all walkers in the game is needed by ObjectRepository so walkers can be found when a game gets loaded More...
 
class  WalkerItemsBar
 visualizes item quantities by stacking its icon
More...
 
class  WalkerRectBar
 visualizes a walker value by sizing a rect to its ratio and writing the value in a text field
used for the walker health bars in the Defense demo More...
 
class  WalkerRisksBar
 highlights risk walkers by displaying the risk icon above them More...
 
class  WalkerServicesBar
 highlights service walkers by displaying the service icon above them More...
 
class  WalkerSpawner
 base class for spawning and keeping track of walkers More...
 
class  WalkerStorageVisualizer
 visualizes the item a walker carries
when the walker has an item the meshrenderer is activated
the meshrenderer gets its material from the first item in walker storage More...
 
class  WalkerValueBar
 base class for in game visuals of walker values More...
 
class  WalkerValueBars
 helper for DefaultBuildingManager that manages building bars More...
 
class  WalkingAgentState
 helper class for Walker that hold the current status when the walker is using a navmesh agent to reach a target More...
 
class  WalkingPath
 collection of map points or world positions that can be followed by a walker More...
 
class  WalkingState
 helper class for Walker that hold the current status when the walker is following a WalkingPath
More...
 
class  WalkPathAction
 makes the walker walk a set path More...
 
class  WalkPointAction
 attempts to walk to a point More...
 
class  WalkPointActionTyped
 attempts to walk to a point More...
 
class  Wanderer
 moves to a random adjacent point on the map then waits a little and repeats
can be used for decorations and animals, used for the huntable blobs in Three More...
 
class  WanderingWalker
 walker that randomly wanders in any direction one unit at a time for a set number of steps More...
 
class  WinCondition
 
class  Worker
 a type of worker(mason, carpenter, laborer) More...
 
class  WorkerPath
 reference and path to a workers workplace
may include a path to an itemGiver to get supplies needed for the work More...
 
class  WorkerPathQuery
 query that eventually produces a WorkerPath
enables distribution of calculations across frames More...
 
class  WorkerScore
 worker percentage for a certain population
available/needed >> 20xvillager/10xfarmers=200% More...
 
class  WorkersPanel
 
class  WorkerUserComponent
 building component using workers for a set duration to influence building efficiency(to drive production, layervalues, ...) More...
 
class  WorkerWalker
 walks from worker provider to worker user, picks up needed items first if required by the user More...
 

Enumerations

enum  BuildingAccessType { Any = 0 , Exclusive = 10 , Preferred = 20 }
 which points are used to access the building More...
 
enum  BuildingRequirementMode {
  Any , Average , Specific , All ,
  AnySpecific
}
 how the points a building might be built on are checked for its requirements
ie are farms allowed only fully on grass or is one point enough More...
 
enum  PathType {
  Any = 0 , Road = 10 , RoadBlocked = 11 , Map = 20 ,
  MapGrid = 21 , None = 100
}
 defines which pathfinder will be used More...
 
enum  WalkerInitializationMode { Instant , Prepared , Delayed }
 describes how and if walkers are started off(for example finding a path before spawning vs just spawning and letting the walker find a path itself) More...
 
enum  ItemStorageMode {
  Stacked , Free , ItemCapped , UnitCapped ,
  Global , ItemSpecific , TotalItemCapped , TotalUnitCapped ,
  Store
}
 defines how a storage handles items and how capacity is calculated More...
 
enum  StorageOrderMode { Neutral = 0 , Get = 10 , Empty = 20 }
 determines how an item in storage is treated More...
 
enum  DiseaseMortality { None = 0 , Initial = 10 , Final = 11 , Continuous = 20 }
 determines how people die in a building afflicted with the DiseaseAddon
 
enum  HighlightType { Valid , Invalid , Info }
 specifies how a point on the map should be visualized by the IHighlightManager More...
 

Enumeration Type Documentation

◆ BuildingAccessType

which points are used to access the building

Enumerator
Any 

use any point around the building

Exclusive 

use only the specified point

Preferred 

try to use the specified point if possible, otherwise use any

◆ BuildingRequirementMode

how the points a building might be built on are checked for its requirements
ie are farms allowed only fully on grass or is one point enough

Enumerator
Any 

a number of building points equal or larger than whats specified in count has to fulfill the requirements

Average 

the requirements have to be fulfilled when summed up and divided by the number of points

Specific 

specify the exact points that have to fulfill the requirements

All 

all of the buildings points have to fulfill the requirements

AnySpecific 

a number of the specified points equal or larger than whats specified in count has to fulfill the requirements

◆ HighlightType

specifies how a point on the map should be visualized by the IHighlightManager

Enumerator
Valid 

probably green

Invalid 

probably red

Info 

blue?

◆ ItemStorageMode

defines how a storage handles items and how capacity is calculated

Enumerator
Stacked 

storage consists of several sub stacks

Free 

stores anything without limitations

ItemCapped 

stores anything up to a quantity per item

UnitCapped 

stores anything up to a unit amount per item

Global 

storage acts as a proxy for IGlobalStorage

ItemSpecific 

stores item quantities as specified per item

TotalItemCapped 

stores anything up to a total quantity of items

TotalUnitCapped 

stores anything up to a total unit amount

Store 

storage acts as a proxy for an ItemStore

◆ PathType

defines which pathfinder will be used

Enumerator
Any 

use default pathfinding, register IPathfinder

Road 

a* pathfinding in roads

RoadBlocked 

a* pathfinding in roads unless blocked

Map 

navmesh pathfinding

MapGrid 

a* pathfinding on the map(bad performance on big maps)

None 

no pathfinding, just go straight to target

◆ StorageOrderMode

determines how an item in storage is treated

Enumerator
Neutral 

passively accept item up to ratio

Get 

actively get item up to ratio

Empty 

actively get rid of item down to ratio

◆ WalkerInitializationMode

describes how and if walkers are started off(for example finding a path before spawning vs just spawning and letting the walker find a path itself)

Enumerator
Instant 

walker is fully initialized up front
no spawn if conditions for walking are not met

Prepared 

walker is initialized using a query
query is completed a little later allowing load distribution
no spawn if conditions for walking are not met

Delayed 

walker always spawns and figures out pathing while Delay/MaxWait runs
if no path is found the walker just waits in front of the building and eventually despawns