CCityBuilderCore.AttackableComponent.AttackebleData | |
CCityBuilderCore.AttackWalker.AttackWalkerData | |
CCityBuilderCore.AudioPool.AudioPoolEntry | |
CCityBuilderCore.AudioPool.AudioPoolValue | |
CCityBuilderCore.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 |
CCityBuilderCore.Building.BuildingAddonMetaData | |
CCityBuilderCore.Building.BuildingComponentMetaData | |
CCityBuilderCore.BuildingComponentPath< T > | 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> |
CCityBuilderCore.BuildingComponentPathQuery< T > | Query that eventually produces a BuildingComponentPath<T>
for example in paths leading to item givers or receivers enables distribution of path calculations across frames |
CCityBuilderCore.BuildingComponentPathQuery< IItemGiver > | |
CCityBuilderCore.BuildingComponentPathQuery< IItemReceiver > | |
CCityBuilderCore.BuildingComponentReference< T > | 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 |
CCityBuilderCore.BuildingComponentReference< CityBuilderCore.IAttackable > | |
CCityBuilderCore.BuildingComponentReference< CityBuilderCore.IHousing > | |
CCityBuilderCore.BuildingComponentReference< CityBuilderCore.IItemGiver > | |
CCityBuilderCore.BuildingComponentReference< CityBuilderCore.IItemReceiver > | |
CCityBuilderCore.BuildingComponentReference< CityBuilderManual.Custom.ICustomBuildingTrait > | |
CCityBuilderCore.BuildingComponentReference< CityBuilderTown.TownHomeComponent > | |
CCityBuilderCore.BuildingComponentReference< CityBuilderUrban.ShopComponent > | |
CCityBuilderCore.BuildingComponentReference< IItemGiver > | |
CCityBuilderCore.BuildingComponentReferenceData | |
►CCityBuilderCore.BuildingComponentWalker< ICustomBuildingComponent > | |
CCityBuilderManual.Custom.CustomRoamingWalker | Roams around and counts and signals any ICustomBuildingComponents it passes |
►CCityBuilderCore.BuildingComponentWalker< IGenerationComponent > | |
CCityBuilderCore.CollectionWalker | Roams around and collects items from the IGenerationComponent it encounters
the kinds of items it collects must be configured in Items |
►CCityBuilderCore.BuildingComponentWalker< IHousing > | |
CCityBuilderCore.EmploymentWalker | Sums up population count of the housings it passes so a EmploymentWalkerComponent can determine its access to employees |
►CCityBuilderCore.BuildingComponentWalker< IItemRecipient > | |
CCityBuilderCore.SaleWalker | Roams around and takes note of what items the IItemRecipient it encounters need and supplies them if it carries the item |
►CCityBuilderCore.BuildingComponentWalker< IRiskRecipient > | |
►CCityBuilderCore.RiskWalker | Roams around and reduces the risks of IRiskRecipient while it is in range |
CCityBuilderCore.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 |
►CCityBuilderCore.BuildingComponentWalker< IServiceRecipient > | |
CCityBuilderCore.ServiceWalker | Roams around and fills the services of IServiceRecipient while it is in range |
►CCityBuilderCore.BuildingComponentWalker< ShopComponent > | |
CCityBuilderUrban.TruckWalker | Randomly roams around and supplies and shop it encounters |
CCityBuilderUrban.VanWalker | Can be spawned from a house to drive around randomly and purchase from any shops it encounters |
►CCityBuilderCore.Building.BuildingData | |
CCityBuilderCore.ExpandableBuilding.ExpandableBuildingData | |
CCityBuilderCore.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 |
CCityBuilderCore.DefaultBuildingManager.BuildingMetaData | |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
►CCityBuilderCore.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) |
CCityBuilderCore.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) |
CCityBuilderCore.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) |
CCityBuilderCore.DefaultBuildingManager.BuildingsData | |
CCityBuilderCore.BuildingValueBars | Helper for DefaultBuildingManager that manages building bars |
CCityBuilderCore.CollectionComponent.CollectionData | |
CCityBuilderCore.ConnectionPoint | Helper used by ConnectionGrid to hold the value and passer of a point in the connection grid |
CCityBuilderCore.SaveHelper.ContinueData | |
CCityBuilderCore.CoroutineToken | Wrapper around coroutines that allows monitoring its activity and stopping it easily |
CCityBuilderManual.Custom.CustomBuildingComponent.CustomComponentData | |
CCityBuilderManual.Custom.CustomDestinationWalker.CustomDestinationWalkerData | |
CCityBuilderManual.Custom.CustomBuildingTrait.CustomTraitData | |
►CCityBuilderCore.CyclicWalkerSpawner< AttackWalker > | |
CCityBuilderCore.CyclicAttackWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.CyclicWalkerSpawner< CollectionWalker > | |
CCityBuilderCore.CyclicCollectionWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.CyclicWalkerSpawner< CustomDestinationWalker > | |
CCityBuilderManual.Custom.CyclicCustomDestinationWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.CyclicWalkerSpawner< CustomRoamingWalker > | |
CCityBuilderManual.Custom.CyclicCustomRoamingWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.CyclicWalkerSpawner< DeliveryWalker > | |
CCityBuilderCore.CyclicDeliveryWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.CyclicWalkerSpawner< EmigrationWalker > | |
CCityBuilderCore.CyclicEmigrationWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.CyclicWalkerSpawner< EmploymentWalker > | |
CCityBuilderCore.CyclicEmploymentWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.CyclicWalkerSpawner< HomelessWalker > | |
CCityBuilderCore.CyclicHomelessWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.CyclicWalkerSpawner< ImmigrationWalker > | |
CCityBuilderCore.CyclicImmigrationWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.CyclicWalkerSpawner< ItemsRetrieverWalker > | |
CCityBuilderCore.CyclicItemsRetrieverWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.CyclicWalkerSpawner< PickupWalker > | |
CCityBuilderUrban.CyclicPickupWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.CyclicWalkerSpawner< PurchaseWalker > | |
CCityBuilderCore.CyclicPurchaseWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.CyclicWalkerSpawner< RiskWalker > | |
CCityBuilderCore.CyclicRiskWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.CyclicWalkerSpawner< RoamingWalker > | |
CCityBuilderCore.CyclicRoamingWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.CyclicWalkerSpawner< SaleWalker > | |
CCityBuilderCore.CyclicSaleWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.CyclicWalkerSpawner< ServiceWalker > | |
CCityBuilderCore.CyclicServiceWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.CyclicWalkerSpawner< StorageWalker > | |
CCityBuilderCore.CyclicStorageWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.CyclicWalkerSpawner< TrainWalker > | |
CCityBuilderUrban.CyclicTrainWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.CyclicWalkerSpawner< VanWalker > | |
CCityBuilderUrban.CyclicVanWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.CyclicWalkerSpawner< WanderingWalker > | |
CCityBuilderCore.CyclicWanderingWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.CyclicWalkerSpawner< WorkerWalker > | |
CCityBuilderCore.CyclicWorkerWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCityBuilderCore.CyclicWalkerSpawnerData | |
CCityBuilderCore.CyclicWorkerProviderComponent.CyclicWorkerProviderData | |
CCityBuilderCore.DefenderAreaComponent.DefenderAreaData | |
CCityBuilderCore.DefenderComponent.DefenderData | |
CCityBuilderDefense.DefenseStage | |
CCityBuilderCore.DeliveryWalker.DeliveryWalkerData | |
CCityBuilderCore.DiseaseAddon.DiseaseData | |
CCityBuilderCore.DistributionComponent.DistributionData | |
CCityBuilderCore.DistributionOrder | Helper for DistributionComponent that combines an item with a ratio |
►CUnityEditor.Editor | |
►CCityBuilderCore.Editor.DebugEditor | |
►CCityBuilderCore.Editor.BuildingComponentEditor | |
CCityBuilderCore.Editor.EvolutionComponentEditor | |
CCityBuilderCore.Editor.ItemEfficiencyComponentEditor | |
CCityBuilderCore.Editor.ItemStoreEditor | |
CCityBuilderCore.Editor.ProductionComponentEditor | |
CCityBuilderCore.Editor.RiskerComponentEditor | |
CCityBuilderCore.Editor.ServiceEfficiencyComponentEditor | |
CCityBuilderCore.Editor.StorageComponentEditor | |
CCityBuilderCore.Editor.EffectPoolEditor | |
CCityBuilderCore.Editor.TimingHappeningEditor | |
►CEditorWindow | |
CCityBuilderCore.Editor.BuildingsWindow | |
CCityBuilderCore.Editor.EditorDialog | |
CCityBuilderCore.Editor.ItemsWindow | |
CCityBuilderCore.Editor.SetupWindow | |
CCityBuilderCore.Editor.WalkersWindow | |
CCityBuilderCore.DefaultPopulationManager.EmploymentData | |
CCityBuilderCore.DefaultPopulationManager.EmploymentGroupData | |
CCityBuilderCore.EmploymentGroupPopulation | Container that distributes employees within an EmploymentGroup and CityBuilderCore.Population |
CCityBuilderCore.EmploymentPopulation | Container that distributes employees within a CityBuilderCore.Population |
CCityBuilderCore.EmploymentWalkerComponent.EmploymentWalkerData | |
CCityBuilderCore.EvolutionComponent.EvolutionData | |
CCityBuilderCore.EvolutionStage | |
CCityBuilderCore.DefaultGameManager.ExtraSaveData | |
CCityBuilderCore.FireAddon.FireData | |
CCityBuilderCore.FireWalker.FireWalkerData | |
CCityBuilderCore.GenerationComponent.GenerationData | |
CCityBuilderCore.ObjectGenerator.GeneratorObject | |
CCityBuilderCore.GridLinks | Helper used to keep track of IGridLink so they can be quickly retrieved by their position |
CCityBuilderCore.GridPathfindingSettings | |
CCityBuilderCore.HomelessWalker.HomelessWalkerData | |
CCityBuilderCore.HousingComponent.HousingData | |
CCityBuilderCore.HousingPlaceholderComponent.HousingPlaceholderData | |
►CCityBuilderCore.IAttacker | Interface for any entity that attacks IAttackables and is fended of by DefenderComponents |
►CCityBuilderCore.AttackWalker | Walks to the closest attackable and attacks it periodically until it is dead, rinse and repeat |
CCityBuilderCore.Tests.DebugAttacker | |
►CCityBuilderCore.IAttackManager | Manages attack system |
CCityBuilderCore.DefaultAttackManager | Default implementation for IAttackManager
attacker targets are chosen purely on distance |
►CCityBuilderCore.IBarManager | Responsible for adding adding and removing visuals for building and walker values |
CCityBuilderCore.DefaultBuildingManager | Manager behaviour that takes care of buildings, walkers and their bars |
►CCityBuilderCore.IBuildingManager | Component that tracks all the buildings in the game |
CCityBuilderCore.DefaultBuildingManager | Manager behaviour that takes care of buildings, walkers and their bars |
►CCityBuilderCore.IBuildingTrait< IAttackable > | |
►CCityBuilderCore.IAttackable | Building component that can be attacked |
CCityBuilderCore.AttackableComponent | Building component that has health and can be attacked, terminates the building when its health runs out |
►CCityBuilderCore.IBuildingTrait< ICustomBuildingTrait > | |
►CCityBuilderManual.Custom.ICustomBuildingTrait | |
CCityBuilderManual.Custom.CustomBuildingTrait | |
►CCityBuilderCore.IBuildingTrait< IHousing > | |
►CCityBuilderCore.IHousing | Building component that houses populations(a hut that provides housing for 20 plebs, a villa that provides housing for 5 snobs) |
CCityBuilderCore.HousingComponent | Prodvides housing for the population, influences efficiency by its occuption(efficiency could be used for tax generation for example) |
CCityBuilderCore.HousingPlaceholderComponent | Waits to be occupied, is then replaced be the actual building |
►CCityBuilderCore.IBuildingTrait< IItemGiver > | |
►CCityBuilderCore.IItemGiver | Building component that provides others with items |
CCityBuilderCore.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 |
►CCityBuilderCore.IStorageComponent | Building component that stores items, how it does that can be configured in orders |
►CCityBuilderCore.StorageComponent | Building component that stores items
|
CCityBuilderCore.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
|
►CCityBuilderCore.IBuildingTrait< IItemReceiver > | |
►CCityBuilderCore.IItemReceiver | Building component that needs to be supplied with items by others(eg production buildings that get supplied by storage) |
►CCityBuilderCore.IProductionComponent | Building component that produces items from other items |
►CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderTown.TownProductionComponent | Produces items using specified raw materials and places them in specified points
used in combination with TownWorkComponent for the woodcutter
the production component sets IsWorking when all the raw materials have arrived
when IsWorking is true the work component activates its work tasks which drive efficiency
production is dependent on efficiency so progress is only made when walkers are working |
►CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.IStorageComponent | Building component that stores items, how it does that can be configured in orders |
CCityBuilderCore.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 |
CCityBuilderTown.ItemConstructionComponent | Building component that waits for items to be delivered to it
when all items have been delivered it terminates itself and places a different building in its stead
an example can be found in CityBuilderCore.Tests/City/ResourceSystems/Construct/ConstructionDebugging |
CCityBuilderTown.TownConstructionComponent | Building component used when constructing buildings
when first placed it checks if there are any trees or rocks in the way and creates harvest tasks so they are replaced
when all obstructions are cleared it creates TownClearTasks for every point of the building which removes grass details from the terrain
if there are any items specified in ItemStorage.ItemCapacities it creates a TownDeliverTask for those next
finally if there is a BuildTaskPrefab specified it creates that and waits for the building to be done
after all the work is done it terminates itself and adds the building specified in FinishedBuilding |
CCityBuilderTown.TownMarketComponent | Component that has food and wood delivered to it and distributes them to any recipients connected by road |
►CCityBuilderCore.IBuildingTrait< IStorageComponent > | |
CCityBuilderCore.IStorageComponent | Building component that stores items, how it does that can be configured in orders |
►CCityBuilderCore.IBuildingTrait< IWorkerUser > | |
►CCityBuilderCore.IWorkerUser | Building component that uses workers, needs to call finish on the worker when done |
CCityBuilderCore.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 |
CCityBuilderCore.WorkerUserComponent | Building component using workers for a set duration to influence building efficiency(to drive production, layervalues, ...) |
►CCityBuilderCore.IBuildingTrait< ShopComponent > | |
CCityBuilderUrban.ShopComponent | Holds items which are reduced when a van or pickup purchases them and filled up by trucks |
►CCityBuilderCore.IBuildingTrait< TownHomeComponent > | |
CCityBuilderTown.TownHomeComponent | Houses TownWalkers and stores food and wood
items are filled by the inhabitants or peddlers that work in a market that is connected via road
food is taken by by walkers to restore their food value
wood is periodically consumed by the component, as long as there is any walkers can restore their warmth value when they visit the house
the home also periodically spawns walkers up to its capacity |
►CCityBuilderCore.IBuildingValue | Any kind of value a building might have(risks, services, items, ...) |
CCityBuilderCore.Item | Scriptable object that describes the properties of an item |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.Layer | Layers are arrays of numbers underlying the map points(desirability, fertility, resources) |
►CCityBuilderCore.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 |
CCityBuilderCore.RiskBuildingAddon | Risk that when executed adds an addon to its building
eg Fire, Disease, .. |
CCityBuilderCore.RiskBuildingReplacement | Risk that when executed replaces its building with something else
|
CCityBuilderCore.RiskBuildingTermination | Risk that when executed terminates the building |
CCityBuilderCore.RiskStructureReplacement | Risk that when executed replaces the building with structures(eg Rubble) |
CCityBuilderCore.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 |
CCityBuilderCore.Service | Services are special building values that are filled by walkers and decrease over time |
CCityBuilderCore.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 |
CCityBuilderCore.ViewBuildingHealthBar | |
►CCityBuilderCore.IConnectionManager | Handles connections and their values |
CCityBuilderCore.DefaultConnectionManager | Straightforward conn manager implementation, should suffice for most cases |
►CCityBuilderCore.IConnectionPasser | Any object that lets a connection pass through its points
gets notified when any of the values at those points change |
►CCityBuilderCore.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) |
►CCityBuilderCore.ConnectionPasserStructure | Will pass a connection at the points of a structure |
CCityBuilderCore.ConnectionFeederStructure | Feeds into a connection at the structures points |
►CCityBuilderCore.ConnectionPasserTiles | Passes a connection on every point that a tile has on a tilemap, only evaluated which points those are at the start |
CCityBuilderCore.ConnectionFeederTiles | Feeds and passes a connection on every point that a tile has on a tilemap, only evaluated at the start |
CCityBuilderCore.ConnectionPasserComponent | Passes a connection and influences building efficiency from its connection value |
►CCityBuilderCore.IConnectionFeeder | 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 |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.ConnectionFeederStructure | Feeds into a connection at the structures points |
CCityBuilderCore.ConnectionFeederTiles | Feeds and passes a connection on every point that a tile has on a tilemap, only evaluated at the start |
►CCityBuilderManual.Custom.ICustomManager | |
CCityBuilderManual.Custom.CustomManager | |
►CCityBuilderCore.IDifficultyFactor | Something influencing difficulty, multiple factors are multiplied |
CCityBuilderCore.DefaultGameManager | Default implementation for various meta game functionality(missions, saving, settings, ...) |
►CCityBuilderCore.Difficulty | Object that defines parameters that influence how hard a mission is
for additional parameters just derive from this object |
CCityBuilderTown.TownDifficulty | Inherited version of Difficulty with additional fields specific to the Town demo |
CCityBuilderCore.DifficultyFactorHappening | Event that, while active, augments the game difficulty |
►CIDragHandler | |
CCityBuilderCore.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 |
►CCityBuilderCore.IEfficiencyFactor | Put this interface on any building part that needs to affect the buildings efficiency |
CCityBuilderCore.ConnectionPasserComponent | Passes a connection and influences building efficiency from its connection value |
CCityBuilderCore.DiseaseAddon | Addon that simulates a disease
|
►CCityBuilderCore.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 |
CCityBuilderCore.EmploymentWalkerComponent | Building component that uses employees to influence the buildings efficiency
sends out a walker that determines how good the access to employees is
|
CCityBuilderCore.FireAddon | Addon that simulates a fire
|
CCityBuilderCore.HousingComponent | Prodvides housing for the population, influences efficiency by its occuption(efficiency could be used for tax generation for example) |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.ScoreEfficiencyComponent | Derives its building efficiency from a score |
CCityBuilderCore.ServiceEfficiencyComponent | Component that influences the building efficiency base on its access to services |
CCityBuilderCore.Tests.DebugNoEfficiencyComponent | |
CCityBuilderCore.WorkerUserComponent | Building component using workers for a set duration to influence building efficiency(to drive production, layervalues, ...) |
CCityBuilderManual.Custom.CustomBuildingComponent | |
CCityBuilderTown.TownProductionComponent | Produces items using specified raw materials and places them in specified points
used in combination with TownWorkComponent for the woodcutter
the production component sets IsWorking when all the raw materials have arrived
when IsWorking is true the work component activates its work tasks which drive efficiency
production is dependent on efficiency so progress is only made when walkers are working |
CCityBuilderTown.TownWorkComponent | Building component that uses TownWorkTasks to drive the buildings efficiency
the work tasks are only active when the buildings IsWorking is true
this is used in TownProductionComponent to only activate work when raw materials are present |
►CCityBuilderCore.IEmploymentManager | Manages the employment system |
CCityBuilderCore.DefaultPopulationManager | Default implementation of all people systems bundeld up into one for convenience
|
►CCityBuilderCore.IGameSaver | Interface for the class that handles the games saving and loading |
CCityBuilderCore.DefaultGameManager | Default implementation for various meta game functionality(missions, saving, settings, ...) |
CCityBuilderCore.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 |
►CCityBuilderCore.IGameSettings | |
CCityBuilderCore.DefaultGameManager | Default implementation for various meta game functionality(missions, saving, settings, ...) |
CCityBuilderCore.Tests.DebugGameSettings | |
►CCityBuilderCore.IGameSpeed | |
CCityBuilderCore.DefaultGameManager | Default implementation for various meta game functionality(missions, saving, settings, ...) |
CCityBuilderCore.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 |
►CCityBuilderCore.IGiverPathfinder | Calculates the best path for getting a needed item |
CCityBuilderCore.DefaultItemManager | Default implementation for the resource systems
|
►CCityBuilderCore.IGlobalStorage | Global storage for items
used for building costs
filled by buildings with ItemStorageMode.Global |
CCityBuilderCore.DefaultItemManager | Default implementation for the resource systems
|
►CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
►CCityBuilderCore.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 |
►CCityBuilderCore.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, .. |
CCityBuilderCore.ExpandableOffGridLink | Specialized version of OffGridLink for expandable buildings
adjusts cost and distance according to the linear expansion of the building |
►CCityBuilderCore.IGridLinker | Common interface for objects that handle grid links
made for convenience so road and map linking is interchangable |
►CCityBuilderCore.IMapGridLinker | Manages links between road points |
CCityBuilderCore.StructurePaths | Manages the different variants of mag grid pathing for DefaultStructureManager
there is only one variant if there are no special StructurePathOptions defined |
►CCityBuilderCore.IRoadGridLinker | Manages links between roads |
►CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
►CCityBuilderCore.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 |
CCityBuilderCore.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 |
►CCityBuilderCore.IGridOverlay | Displays grid lines overlaying the map |
►CCityBuilderCore.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 |
►CCityBuilderCore.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 |
CCityBuilderCore.HexagonMap | Adjusts the DefaultMap to work with a hexagon grid |
CCityBuilderCore.IsometricMap | Implementation for various map and grid functions on an isometric grid with 2d sprites |
CCityBuilderCore.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 |
CCityBuilderCore.Tests.DebugMap | |
►CCityBuilderCore.IGridPositions | Transforms between grid and world positions |
CCityBuilderCore.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 |
CCityBuilderCore.Tests.DebugMap | |
►CCityBuilderCore.IGridRotations | Rotates transforms, 3d implementations might rotate 360° while isometric games may only mirror |
CCityBuilderCore.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 |
CCityBuilderCore.Tests.DebugMap | |
►CCityBuilderCore.IHealther | Any object that has health wich should be displayed |
CCityBuilderCore.AttackWalker | Walks to the closest attackable and attacks it periodically until it is dead, rinse and repeat |
CCityBuilderCore.AttackableComponent | Building component that has health and can be attacked, terminates the building when its health runs out |
►CCityBuilderCore.IHighlightManager | Highlights tiles as valid, invalid or just as info
primarily used by building tools |
CCityBuilderCore.DefaultHighlightManager | Default implementation for IHighlightManager
uses tiles that are assigned in inspector |
CCityBuilderCore.MeshHighlightManager | Implementation of IHighlightManager that creates and dynamically adjusts meshes |
CCityBuilderCore.SpriteHighlightManager | Implementation of IHighlightManager that instantiates sprites |
►CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.MultiItemContainer | Item container that combines different ItemStorages
used in the EvolutionComponent in which storage is split among the different recipients |
CCityBuilderCore.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 |
►CCityBuilderCore.IItemOwner | Any component that has items in an IItemContainer |
►CCityBuilderCore.IDistributionComponent | Building component that gets items, stores them and then distributes them to ItemRecipient |
CCityBuilderCore.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 |
►CCityBuilderCore.IGenerationComponent | Building component that generates items |
CCityBuilderCore.GenerationComponent | Building component that periodically generates items(speed influenced by efficiency) |
CCityBuilderCore.IItemGiver | Building component that provides others with items |
CCityBuilderCore.IItemReceiver | Building component that needs to be supplied with items by others(eg production buildings that get supplied by storage) |
►CCityBuilderCore.IItemRecipient | Building component that receives items passively
for example from a SaleWalker walking by |
►CCityBuilderCore.IEvolution | Building component handling evolution(checking the current stage and replacing the building in case it has changed) |
CCityBuilderCore.EvolutionComponent | Default building component for handling evolution |
CCityBuilderTown.TownHomeComponent | Houses TownWalkers and stores food and wood
items are filled by the inhabitants or peddlers that work in a market that is connected via road
food is taken by by walkers to restore their food value
wood is periodically consumed by the component, as long as there is any walkers can restore their warmth value when they visit the house
the home also periodically spawns walkers up to its capacity |
CCityBuilderCore.IProductionComponent | Building component that produces items from other items |
CCityBuilderCore.IStorageComponent | Building component that stores items, how it does that can be configured in orders |
CCityBuilderCore.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 |
CCityBuilderCore.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) |
CCityBuilderCore.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 |
CCityBuilderCore.PurchaseWalker | Walker that gets items from an IItemGiver to an IDistributionComponent |
CCityBuilderCore.SaleWalker | Roams around and takes note of what items the IItemRecipient it encounters need and supplies them if it carries the item |
CCityBuilderCore.StorageWalker | Walker for storage functions:
Supplies IItemReceiver | Gets items from IItemGiver | empties items into IItemReceiver |
CCityBuilderCore.WorkerWalker | Walks from worker provider to worker user, picks up needed items first if required by the user |
CCityBuilderTown.ItemConstructionComponent | Building component that waits for items to be delivered to it
when all items have been delivered it terminates itself and places a different building in its stead
an example can be found in CityBuilderCore.Tests/City/ResourceSystems/Construct/ConstructionDebugging |
CCityBuilderTown.TownConstructionComponent | Building component used when constructing buildings
when first placed it checks if there are any trees or rocks in the way and creates harvest tasks so they are replaced
when all obstructions are cleared it creates TownClearTasks for every point of the building which removes grass details from the terrain
if there are any items specified in ItemStorage.ItemCapacities it creates a TownDeliverTask for those next
finally if there is a BuildTaskPrefab specified it creates that and waits for the building to be done
after all the work is done it terminates itself and adds the building specified in FinishedBuilding |
CCityBuilderTown.TownMarketComponent | Component that has food and wood delivered to it and distributes them to any recipients connected by road |
CCityBuilderTown.TownWalker | Town walkers are the only kind of walker in the town demo and are managed by the TownManager
they have some inherent actions like eat or chill that they take on their own
when none of those is currently needed they check if theres a TownTask available for them and perform that |
CCityBuilderUrban.ShopComponent | Holds items which are reduced when a van or pickup purchases them and filled up by trucks |
►CCityBuilderCore.IItemsDispenser | Dispenses items to items retrievers
(eg map resources like trees that dispense wood, animals that dispense meat, ...) |
CCityBuilderCore.ReloadingItemsDispenser | Items dispenser that reloads its charges over time |
CCityBuilderCore.SingleItemsDispenser | Items dispenser that dispenses once and then self destructs |
►CCityBuilderCore.IItemsDispenserManager | Keeps track of all the IItemsDispenser and calculates the dispenser a retriever goes for |
CCityBuilderCore.DefaultItemManager | Default implementation for the resource systems
|
►CIJob | |
CCityBuilderCore.GridPathfindingBurst.FindPathJob | |
►CCityBuilderCore.IKeyed | Object that can be uniquely identified by a string key
it can then be retrieved from IKeyedSet<T> by its key |
►CCityBuilderCore.IStructure | Interface for anything placed on the map(roads, decorators, buildings, ....) |
►CCityBuilderCore.IBuilding | |
►CCityBuilderCore.Building | Default implementation for IBuilding |
CCityBuilderCore.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 |
CCityBuilderCore.Tests.DebugBuilding | |
►CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.StructureCollection | Structure made up of a collection of identical gameobjects
if the members of the collection are ISaveData that data will also be stored |
CCityBuilderCore.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 |
CCityBuilderCore.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
|
CCityBuilderCore.StructureTerrainTrees | Structure that adds and removes terrain trees using a TerrainModifier
|
CCityBuilderCore.StructureTiles | Structure made up of a collection of tiles on a tilemap |
CCityBuilderCore.Tests.DebugStructure | |
►CCityBuilderCore.KeyedBehaviour | Behaviour that can be uniquely identified by a string key
it can then be retrieved from KeyedSet<T> by its key |
►CCityBuilderCore.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, .. |
CCityBuilderCore.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) |
CCityBuilderCore.BuildingAddonMaterial | Changes materials of renderers on the building while active
for example for outline or highlight materials |
CCityBuilderCore.BuildingAddonSpawn | Addon that visualy spawns in the building by scaling it up and rotating it using a coroutine(no animation needed) |
CCityBuilderCore.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 |
CCityBuilderCore.DiseaseAddon | Addon that simulates a disease
|
CCityBuilderCore.FireAddon | Addon that simulates a fire
|
►CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.TerrainModifier | Used to modify and persist terrain data |
CCityBuilderCore.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 |
CCityBuilderTown.TownManager | Central manager for the town demo
manages tasks, jobs, walkers, seasons
|
CCityBuilderUrban.UrbanManager | Manages all the custom global logic in the urban demo |
CCityBuilderCore.StructureCollection | Structure made up of a collection of identical gameobjects
if the members of the collection are ISaveData that data will also be stored |
CCityBuilderCore.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 |
CCityBuilderCore.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
|
CCityBuilderCore.StructureTerrainTrees | Structure that adds and removes terrain trees using a TerrainModifier
|
CCityBuilderCore.StructureTiles | Structure made up of a collection of tiles on a tilemap |
CCityBuilderCore.Tests.DebugStructure | |
►CCityBuilderCore.WalkerAddon | Temporary objects that are added(Walker.AddAddon<T>(T)) and removed(Walker.RemoveAddon(WalkerAddon)) at runtime
can be used for effects, statuses, animations, .. |
CCityBuilderCore.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 |
CCityBuilderCore.WalkerAddonEffect | Blank walker addon that can be used to attach particle effects for example |
CCityBuilderCore.WalkerAddonMaterial | Changes materials of renderers on the walker while active
for example for outline or highlight materials |
►CCityBuilderTown.TownTask | Tasks are behaviours that contain a series of action for a walker to complete
this can be as simple as an item pickup or more complex like a farming field that changes throughout the years
they are either managed(creation, persistence, termination) globally by the TownManager or locally by, for example, a building component
when they are not otherwise occupied TownWalkers query the TownManager for the most appropriate task which depends on their position and job |
CCityBuilderTown.TownBuildTask | Task that makes walkers go to it and progress it while playing the work animation
used by the TownConstructionComponent |
CCityBuilderTown.TownClearTask | Makes walkers walk to its point and play a quick work animation
after that a specified structure has the point removed and the task finishes
used by TownConstructionComponent to clear the ground of grass before the actual building starts |
CCityBuilderTown.TownDeliverTask | Task that makes walkers deliver whatever items are needed by the IItemReceiver of the building under the task
used to supply food and wood to TownMarketComponent, to get building materials to TownConstructionComponent and for raw materials needed in TownProductionComponent |
CCityBuilderTown.TownDemolishTask | Task makes walker walk to it, work for a little and the removes the structure it sits on
when it is placed on a building it makes the walker go to the building instead of the task point |
CCityBuilderTown.TownDistributionTask | Makes a walker go to the market the task stands on and pick up items
the walker then roams the roads connected to the market filling up their stores
afterwards the walker walks back to the market and returns the remaining items
the items carried by the walker are reserved in the market to avoid the market getting filled while the walker is out |
CCityBuilderTown.TownFieldTask | In spring the field can be tilled which makes a walker go to its point and work for a set time
if the tilling was completed in spring the field will grow during summer when autumn comes and the field has grown fully it can be harvested by a walker which places an item and resets the field |
CCityBuilderTown.TownGatherTask | After a walker goes to the task point and spend some time working the task is finished and the walker receives some items
the point is also removed from a source structure and may be added to a destination structure
for example when gathering berries the point is removed from the berries structure and added to berries empty |
CCityBuilderTown.TownHarvestTask | Makes walker go to point> work> wait> work and then places an item on the ground
when gathering a tree the first work fells the tree and removes it from the primary structure
the wait time is spent waiting for the tree to fall
working the second duration represents the walker making the falling ready for pickup |
CCityBuilderTown.TownItemTask | Items lying on the map ready to be collected and stored
a walker has to go to the task and spend a little bit of time picking it up
after that the items are added to the walkers storage and the task is finished
storing the item is the walkers business and not part of the task |
CCityBuilderTown.TownPathTask | Task that makes a walker go to its point and spand a little time working
after that a road is added at that point |
CCityBuilderTown.TownPlantTask | Task that makes a walker go to its point and spand a little time working
after that a point is added to a structure at the tasks location
for example the forrester creates a plant task for the Trees Growing structure
which eventually turns into a full tree that can be harvested for logs |
CCityBuilderTown.TownWorkTask | Task that makes a walker work at its point on the map
the TownWorkComponent uses this task to get walkers to work at it and check how many are doing so |
►CCityBuilderCore.KeyedObject | Scriptable that can be uniquely identified by a string key
it can then be retrieved from KeyedSet<T> by its key |
CCityBuilderCore.BuildingCategory | Category for bundling and filtering buildings(entertainment, religion, ....), mainly used in scores |
►CCityBuilderCore.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?) |
CCityBuilderCore.ExpandableBuildingInfo | Special info for buildings that can have variable sizes
for example bridges in THREE, fields and storage areas in TOWN demo |
CCityBuilderCore.Connection | Connections are networks of values on the Map
they consist of feeders which determine the values and passers that just pass them along |
CCityBuilderCore.Difficulty | Object that defines parameters that influence how hard a mission is
for additional parameters just derive from this object |
CCityBuilderCore.EmploymentGroup | Types of employment that can have different priorities so less essential groups loose access first(services, logistics, food, industry, ...) |
CCityBuilderCore.Item | Scriptable object that describes the properties of an item |
CCityBuilderCore.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 |
CCityBuilderCore.Mission | Object that defines general information about a level |
CCityBuilderCore.Population | Type of population(plebs, middle class, snobs, ...)
|
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.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) |
CCityBuilderCore.Service | Services are special building values that are filled by walkers and decrease over time |
CCityBuilderCore.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 |
CCityBuilderCore.TownJob | Some tasks can only be done by walkers with a specific job
for example building a house or farming |
CCityBuilderCore.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 |
►CCityBuilderCore.ILayerAffector | Object affecting the layer values, is registered with ILayerManager |
CCityBuilderCore.ConnectionGrid | Helper class used by DefaultConnectionManager to encapsulate connection handling for one connection |
►CCityBuilderCore.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 |
CCityBuilderCore.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) |
►CCityBuilderCore.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 |
CCityBuilderCore.IEvolution | Building component handling evolution(checking the current stage and replacing the building in case it has changed) |
CCityBuilderCore.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 |
►CCityBuilderCore.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 |
CCityBuilderCore.DefaultLayerManager | Layer manager iomplementation that can use a tilemap to define the base values |
►CCityBuilderCore.ILayerModifier | 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 |
CCityBuilderCore.LayerModifierHappening | Event that, during its activity, globally modifies a layers values
might be used for weather or seasons(heat, fertility, ...) |
►CCityBuilderCore.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 |
CCityBuilderCore.CameraController | Camera controller that works with various setups and provides mouse inpurt and main camera interfaces |
►CCityBuilderCore.IMap | Basic map functionality like map size and buildability |
CCityBuilderCore.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 |
CCityBuilderCore.Tests.DebugMap | |
►CCityBuilderCore.IMissionManager | |
CCityBuilderCore.DefaultGameManager | Default implementation for various meta game functionality(missions, saving, settings, ...) |
CCityBuilderCore.ImmigrationWalker.ImmigrationWalkerData | |
►CCityBuilderCore.IMouseInput | Access to the current location of the players pointer |
CCityBuilderCore.CameraController | Camera controller that works with various setups and provides mouse inpurt and main camera interfaces |
CCityBuilderCore.CameraMouseInput | 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 |
►CCityBuilderCore.INotificationManager | Shows notification texts to players |
CCityBuilderCore.DefaultNotificationManager | Default implementation of INotificationManager
instantiates a NotificationPanel for every notification that is requested |
►CCityBuilderCore.IObjectPool | |
CCityBuilderCore.ObjectPool | Simple object pooling implementation accessible through the dependency system and used in walker spawners for example |
►CCityBuilderCore.IObjectSet< T > | |
►CCityBuilderCore.IKeyedSet< T > | |
CCityBuilderCore.KeyedSet< T > | |
CCityBuilderCore.RuntimeKeyedSet< T > | |
►CCityBuilderCore.ObjectSet< T > | |
CCityBuilderCore.KeyedSet< T > | |
►CCityBuilderCore.RuntimeObjectSet< T > | |
CCityBuilderCore.RuntimeKeyedSet< T > | |
►CCityBuilderCore.IOverlayManager | Overlays the tilemap with coloured tiles that visualize Layer, Connection or Efficiency values
eg desirable areas are green, undesirable areas are red |
CCityBuilderCore.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 |
►CCityBuilderCore.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 |
►CCityBuilderCore.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) |
CCityBuilderCore.AttackWalker | Walks to the closest attackable and attacks it periodically until it is dead, rinse and repeat |
CCityBuilderCore.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 |
CCityBuilderCore.EmigrationWalker | Walks leaving population out of the map |
CCityBuilderCore.HomelessWalker | Population that could not be contained by downgraded housing, roams around randomly until housing is found or the range runs out |
CCityBuilderCore.ImmigrationWalker | Walks new population into housing |
CCityBuilderCore.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 |
CCityBuilderCore.PurchaseWalker | Walker that gets items from an IItemGiver to an IDistributionComponent |
►CCityBuilderCore.RoamingWalker | Walker that semi randomly walks around and then returns home
has a memory so it diversifies the route |
►CCityBuilderCore.BuildingWalker | Base class for walkers that roam and perform actions when passing buildings |
CCityBuilderCore.BuildingComponentWalker< T > | 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 |
CCityBuilderCore.Tests.DebugRoamer | |
CCityBuilderCore.StorageWalker | Walker for storage functions:
Supplies IItemReceiver | Gets items from IItemGiver | empties items into IItemReceiver |
CCityBuilderCore.Tests.DebugWalker | |
CCityBuilderCore.WanderingWalker | Walker that randomly wanders in any direction one unit at a time for a set number of steps |
CCityBuilderCore.WorkerWalker | Walks from worker provider to worker user, picks up needed items first if required by the user |
CCityBuilderManual.Custom.CustomDestinationWalker | Walks along a passed path and then signals its target |
CCityBuilderTown.TownWalker | Town walkers are the only kind of walker in the town demo and are managed by the TownManager
they have some inherent actions like eat or chill that they take on their own
when none of those is currently needed they check if theres a TownTask available for them and perform that |
CCityBuilderUrban.PickupWalker | Can be spawned from a house to drive directly to a shop, purchase and then drive back |
CCityBuilderUrban.TornadoWalker | Walks across the map along the y axis and destroys any structure it passes over |
CCityBuilderUrban.TrainWalker | Drives to the trains station, signals the station to spawn trucks and then drives to the exit |
►CCityBuilderCore.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 |
►CCityBuilderCore.IMapGridPathfinder | Pthfinder that uses a A* grid to find a path
builds a complete grid of points so only viable for smaller maps |
►CCityBuilderCore.GridPathfindingBase | |
CCityBuilderCore.GridPathfinding | Simple a* implementation for non diagonal pathfinding between equidistant points, used by road and mapGrid pathfinding |
CCityBuilderCore.GridPathfindingBurst | |
CCityBuilderCore.StructurePaths | Manages the different variants of mag grid pathing for DefaultStructureManager
there is only one variant if there are no special StructurePathOptions defined |
►CCityBuilderCore.IMapPathfinder | Pathfinder that uses the unity navmesh to find a path on the map |
CCityBuilderCore.NavMeshPathfinding | |
►CCityBuilderCore.IRoadPathfinder | Pathfinder that finds a path inside a network of roads(uses A* by default) |
CCityBuilderCore.GridPathfindingBase | |
CCityBuilderCore.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 |
►CCityBuilderCore.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 |
CCityBuilderCore.GridPathfindingBase | |
CCityBuilderCore.NoPathfinding | Fallback pathfinding that just returns a straight path from start to target |
►CIPointerClickHandler | |
CCityBuilderCore.NotificationPanel | |
CCityBuilderCore.SaveVisualizerItem | |
CCityBuilderTown.TownJobInput | Ui behaviour that lets players set number of walkers for the specified job |
►CIPointerDownHandler | |
CCityBuilderCore.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 |
►CIPointerEnterHandler | |
CCityBuilderCore.NotificationPanel | |
CCityBuilderCore.SaveVisualizerItem | |
CCityBuilderCore.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
|
►CCityBuilderCore.TooltipOwnerBase | Base class for ui behaviours that display tooltips |
►CCityBuilderCore.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 |
►CCityBuilderCore.PointerToolBase | Special base class for tools that use the pointer
handles differences between mouse/touch
manages mouse down/up for dragging |
►CCityBuilderCore.BuildingBuilder | Tool for placing buildings |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.DemolishTool | Tool that removes structures |
CCityBuilderCore.ExpandableBuilder | Special builder that can place ExpandableBuilding of dynamic size by dragging out the size |
CCityBuilderCore.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 |
CCityBuilderCore.RoadBuilder | Tool for placing roads |
CCityBuilderCore.StructureBuilder | Tool for adding points to a StructureCollection or StructureTiles |
CCityBuilderTown.TownDemolishTool | Tool that removes tasks and places demlish tasks for structures |
CCityBuilderTown.TownHarvestTool | Tool that places TownHarvestTask at points that have structures that match a harvest tasks PrimaryStructureKey
harvest tasks have to be known to TownManager |
CCityBuilderTown.TownPathTool | Tool that places TownPathTask at available points |
CCityBuilderTown.TownStartupTool | Tool used when the game first starts to place the initial buildings and walkers
after it is used once it gets hidden by TownManager and the rest of the tools appear |
CCityBuilderCore.SelectionTool | Selects walkers and buildings under the mouse on click |
CCityBuilderCore.Tests.DebugMoveTool | Can be used to move walkers for debugging |
CCityBuilderCore.InventoryVisualizer | Visualizes the quantity of an item in unity UI |
CCityBuilderCore.ScoreVisualizer | Visualizes a score in unity ui |
CCityBuilderCore.TooltipArea | Can be put on any raycast UI objects to display a manually set tooltip |
CCityBuilderCore.ViewActivator | Helper for activating a view from a UnityEngine.UI.Toggle |
CCityBuilderTown.TownJobInput | Ui behaviour that lets players set number of walkers for the specified job |
►CIPointerExitHandler | |
CCityBuilderCore.NotificationPanel | |
CCityBuilderCore.SaveVisualizerItem | |
CCityBuilderCore.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
|
CCityBuilderCore.ToolsGroupContent | Only exists because OnPointerExit behaviour has changed in Unity 2021
can be removed in earlier versions |
CCityBuilderCore.TooltipOwnerBase | Base class for ui behaviours that display tooltips |
►CCityBuilderCore.IPopulationManager | Manages the population and housing system
|
CCityBuilderCore.DefaultPopulationManager | Default implementation of all people systems bundeld up into one for convenience
|
►CCityBuilderCore.IReceiverPathfinder | Calculates the best path for depositing an item(eg items produced in production) |
CCityBuilderCore.DefaultItemManager | Default implementation for the resource systems
|
►CCityBuilderCore.ISaveData | Interface for all kinds of components that contain state that needs saving |
CCityBuilderCore.Building | Default implementation for IBuilding |
CCityBuilderCore.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, .. |
CCityBuilderCore.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 |
CCityBuilderCore.IBuilding | |
►CCityBuilderCore.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 |
►CCityBuilderCore.BuildingComponent | Base class for building components implementing IBuildingComponent |
CCityBuilderCore.AttackableComponent | Building component that has health and can be attacked, terminates the building when its health runs out |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.ConnectionPasserComponent | Passes a connection and influences building efficiency from its connection value |
CCityBuilderCore.CyclicWorkerProviderComponent | Workery periodically as long as the buildings is working, spawn rate is influenced by building efficiency |
CCityBuilderCore.DefenderAreaComponent | Building component that periodically checks for attackers in a radius
it can do damage or add addons to the attackers it finds |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.EvolutionComponent | Default building component for handling evolution |
CCityBuilderCore.HousingComponent | Prodvides housing for the population, influences efficiency by its occuption(efficiency could be used for tax generation for example) |
CCityBuilderCore.HousingPlaceholderComponent | Waits to be occupied, is then replaced be the actual building |
CCityBuilderCore.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 |
CCityBuilderCore.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) |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.PooledWorkerProviderComponent | 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 |
►CCityBuilderCore.ProgressComponent | Base class for building components implementing IProgressComponent
basically any component that progresses over time, does something and resets |
CCityBuilderCore.GenerationComponent | Building component that periodically generates items(speed influenced by efficiency) |
CCityBuilderCore.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 |
CCityBuilderCore.RiskWalkerComponent | Building component that periodically spawns a RiskWalker |
CCityBuilderCore.RiskerComponent | Building componnent for risks
updates risks, executes and resolves them and tries to transfer their values when the building gets replaced |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.ScoreEfficiencyComponent | Derives its building efficiency from a score |
CCityBuilderCore.ServiceEfficiencyComponent | Component that influences the building efficiency base on its access to services |
CCityBuilderCore.ServiceWalkerComponent | Building component that periodically spawns a ServiceWalker |
CCityBuilderCore.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 |
CCityBuilderCore.StorageComponent | Building component that stores items
|
CCityBuilderCore.Tests.DebugNoEfficiencyComponent | |
CCityBuilderCore.TimedReplacementComponent | Building component that replaces the building after a defined time has passed |
CCityBuilderCore.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 |
CCityBuilderCore.WalkerComponent | Building component that periodically spawns a RoamingWalker |
CCityBuilderCore.WorkerUserComponent | Building component using workers for a set duration to influence building efficiency(to drive production, layervalues, ...) |
CCityBuilderManual.Custom.CustomBuildingComponent | |
CCityBuilderManual.Custom.CustomBuildingTrait | |
CCityBuilderTown.ItemConstructionComponent | Building component that waits for items to be delivered to it
when all items have been delivered it terminates itself and places a different building in its stead
an example can be found in CityBuilderCore.Tests/City/ResourceSystems/Construct/ConstructionDebugging |
CCityBuilderTown.TownConstructionComponent | Building component used when constructing buildings
when first placed it checks if there are any trees or rocks in the way and creates harvest tasks so they are replaced
when all obstructions are cleared it creates TownClearTasks for every point of the building which removes grass details from the terrain
if there are any items specified in ItemStorage.ItemCapacities it creates a TownDeliverTask for those next
finally if there is a BuildTaskPrefab specified it creates that and waits for the building to be done
after all the work is done it terminates itself and adds the building specified in FinishedBuilding |
CCityBuilderTown.TownFarmingComponent | Building component that creates and manages a TownFieldTask for every point of its building
actual farming mechanics are performed in those tasks |
CCityBuilderTown.TownForestingComponent | Periodically spawns a TownPlantTask and a TownHarvestTask within a specified radius
only spawns up to 2 of each of them so they dont spawn infinitely of there is no walker taking care of them |
CCityBuilderTown.TownGatheringComponent | Periodically spawns a TownGatherTask within its radius
only spawns up to 2 taks so they dont spawn infinitely of there is no walker taking care of them
used to collect berries from bushes which is better than harvesting because it does not remove the bush and berries will regrow |
CCityBuilderTown.TownHomeComponent | Houses TownWalkers and stores food and wood
items are filled by the inhabitants or peddlers that work in a market that is connected via road
food is taken by by walkers to restore their food value
wood is periodically consumed by the component, as long as there is any walkers can restore their warmth value when they visit the house
the home also periodically spawns walkers up to its capacity |
CCityBuilderTown.TownMarketComponent | Component that has food and wood delivered to it and distributes them to any recipients connected by road |
CCityBuilderTown.TownWorkComponent | Building component that uses TownWorkTasks to drive the buildings efficiency
the work tasks are only active when the buildings IsWorking is true
this is used in TownProductionComponent to only activate work when raw materials are present |
CCityBuilderUrban.HouseComponent | Can spawn randomly roaming VanWalkers or PickupWalkers it sends directly to a shop
the pickups are only used in the Tunnel scene to demonstrate how they drive through the tunnel |
CCityBuilderUrban.RailwayComponent | Spawns trains cyclically, whenever the train arrives it spawns trucks that supply shops |
CCityBuilderUrban.ShopComponent | Holds items which are reduced when a van or pickup purchases them and filled up by trucks |
CCityBuilderCore.IBuildingTrait< T > | 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 |
CCityBuilderCore.IDistributionComponent | Building component that gets items, stores them and then distributes them to ItemRecipient |
►CCityBuilderCore.IEmployment | Building component that uses employees |
CCityBuilderCore.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 |
CCityBuilderCore.IEvolution | Building component handling evolution(checking the current stage and replacing the building in case it has changed) |
CCityBuilderCore.IItemRecipient | Building component that receives items passively
for example from a SaleWalker walking by |
►CCityBuilderCore.IProgressComponent | Building component that has come kind of progress
common interface so different progressors can use the same visualizers |
CCityBuilderCore.IGenerationComponent | Building component that generates items |
CCityBuilderCore.IProductionComponent | Building component that produces items from other items |
CCityBuilderCore.ProgressComponent | Base class for building components implementing IProgressComponent
basically any component that progresses over time, does something and resets |
CCityBuilderCore.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 |
►CCityBuilderCore.IRiskRecipient | Building components that have risks that can be reduced by a RiskWalker or are otherwise executed |
CCityBuilderCore.RiskerComponent | Building componnent for risks
updates risks, executes and resolves them and tries to transfer their values when the building gets replaced |
►CCityBuilderCore.IServiceRecipient | Building components that have services that can be filled by a RiskWalker |
CCityBuilderCore.IEvolution | Building component handling evolution(checking the current stage and replacing the building in case it has changed) |
CCityBuilderCore.ServiceEfficiencyComponent | Component that influences the building efficiency base on its access to services |
►CCityBuilderManual.Custom.ICustomBuildingComponent | |
CCityBuilderManual.Custom.CustomBuildingComponent | |
►CCityBuilderCore.IRoadManager | |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
►CCityBuilderCore.IStructureManager | Tracks all the IStructures on the map
used to check and retrieve structures at any point on the map |
CCityBuilderCore.DefaultStructureManager | Straightforward IStructureManager implementation
holds collections, decorators and tiles in seperate lists similar to underlying structures |
CCityBuilderCore.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 |
CCityBuilderCore.ReloadingItemsDispenser | Items dispenser that reloads its charges over time |
CCityBuilderCore.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) |
CCityBuilderCore.WalkerAddon | Temporary objects that are added(Walker.AddAddon<T>(T)) and removed(Walker.RemoveAddon(WalkerAddon)) at runtime
can be used for effects, statuses, animations, .. |
CCityBuilderCore.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 |
►CCityBuilderCore.IScoreModifier | Modifier applied to the result of a score, is registered with IScoresCalculator |
CCityBuilderCore.ScoreModifierHappening | 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 |
►CCityBuilderCore.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
|
CCityBuilderCore.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 |
►CISerializationCallbackReceiver | |
CCityBuilderCore.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) |
CCityBuilderCore.ItemsGiverAction | Walks to an IItemGiver and gives items to the walker |
CCityBuilderCore.ItemsReceiverAction | Walks to an IItemReceiver and lets the receiver get items from the walker |
CCityBuilderCore.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) |
CCityBuilderCore.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 |
CCityBuilderCore.WalkBuildingAction | Attempts to walk to a building |
CCityBuilderCore.WalkPathAction | Makes the walker walk a set path |
CCityBuilderTown.TownProvisionAction | Action that provisions a TownHomeComponent with a type of item like food or wood
which item that is, as well as the giver and the path to take, has to be provided
the action reserves the items quantity in the giver and the needed capacity in the home |
CCityBuilderCore.ItemCategoryQuantity | Convenience container that combines an ItemCategory with a quantity |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderTown.ItemConstructionComponent.ItemConstructionData | |
CCityBuilderCore.ItemConsumer | Simple container that can check for an item quantity and remove it from a storage
eg raw materials in production components |
CCityBuilderCore.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 |
CCityBuilderCore.ItemLevel.ItemLevelData | |
CCityBuilderCore.ItemProducer | Simple container that can check if an item quantity fits and adds it to a storage
eg finished goods in production components |
CCityBuilderCore.ItemQuantity | Convenience container that combines an item with a quantity |
CCityBuilderCore.ItemQuantity.ItemQuantityData | |
CCityBuilderCore.ItemRecipient | Receives a specific item and uses it up over time
|
CCityBuilderCore.ItemCategoryRecipient.ItemsCategoryRecipientData | |
CCityBuilderCore.ItemEfficiencyComponent.ItemsEfficiencyData | |
CCityBuilderCore.ItemRecipient.ItemsRecipientData | |
CCityBuilderCore.ItemsRetrieverComponent.ItemsRetrieverData | |
CCityBuilderCore.ItemsRetrieverWalker.ItemsRetrieverWalkerData | |
CCityBuilderCore.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 |
CCityBuilderCore.ItemStack.ItemStackData | |
CCityBuilderCore.ItemStorage.ItemStorageData | |
CCityBuilderCore.Tests.ItemStorageTesting | |
►CCityBuilderCore.IToolsManager | Manages the tool activation and tool cost |
CCityBuilderCore.ToolsManager | Simple IToolsManager implementation that should suffice for most cases |
►CCityBuilderCore.ITooltipManager | Manages displaying tooltips in the UI |
CCityBuilderCore.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 |
►CCityBuilderCore.ITooltipOwner | Any object that has a tooltip |
CCityBuilderCore.TooltipOwnerBase | Base class for ui behaviours that display tooltips |
►CCityBuilderCore.IViewsManager | Manages the active View |
CCityBuilderCore.DefaultViewManager | |
►CCityBuilderCore.IWalkerManager | Keeps track of all the active walkers in the game |
CCityBuilderCore.DefaultBuildingManager | Manager behaviour that takes care of buildings, walkers and their bars |
CCityBuilderCore.Tests.DebugWalkerManager | |
►CCityBuilderCore.IWalkerValue | Any kind of value a walker might have(items, ...) |
CCityBuilderCore.Item | Scriptable object that describes the properties of an item |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.Layer | Layers are arrays of numbers underlying the map points(desirability, fertility, resources) |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.Service | Services are special building values that are filled by walkers and decrease over time |
CCityBuilderCore.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 |
CCityBuilderCore.ViewWalkerHealthBar | |
CCityBuilderTown.TownViewWalkerEnergyBar | View that visualizes a walkers current energy in percent |
CCityBuilderTown.TownViewWalkerFoodBar | View that visualizes a walkers current food in percent |
CCityBuilderTown.TownViewWalkerWarmthBar | View that visualizes a walkers current warmth in percent |
►CCityBuilderCore.IWorkplaceFinder | Finds the optimal workplace for any given worker and provide it with a path to work and supply if necessary |
CCityBuilderCore.DefaultPopulationManager | Default implementation of all people systems bundeld up into one for convenience
|
►CCityBuilderCore.KeyedSet< BuildingAddon > | |
CCityBuilderCore.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 |
►CCityBuilderCore.KeyedSet< BuildingInfo > | |
CCityBuilderCore.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 |
►CCityBuilderCore.KeyedSet< Difficulty > | |
CCityBuilderCore.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 |
►CCityBuilderCore.KeyedSet< EmploymentGroup > | |
CCityBuilderCore.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 |
►CCityBuilderCore.KeyedSet< Item > | |
CCityBuilderCore.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 |
►CCityBuilderCore.KeyedSet< Mission > | |
CCityBuilderCore.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 |
►CCityBuilderCore.KeyedSet< Population > | |
CCityBuilderCore.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 |
►CCityBuilderCore.KeyedSet< Road > | |
CCityBuilderCore.RoadSet | Some collection of roads, a set of all roads should be set in ObjectRepository |
►CCityBuilderCore.KeyedSet< TownJob > | |
CCityBuilderCore.TownJobSet | Some collection of jobs
a set of all jobs in the game is needed by TownManager |
►CCityBuilderCore.KeyedSet< TownTask > | |
CCityBuilderTown.TownTaskSet | Some collection of tasks
a set of all taks in the game is needed by TownManager so tasks can be found when a game gets loaded |
►CCityBuilderCore.KeyedSet< WalkerAddon > | |
CCityBuilderCore.WalkerAddonSet | 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 |
CCityBuilderCore.LayerAffectorTile | Defines a layer value and falloff for a tile on a tilemap
is used by DefaultLayerManager to establish the base layer values |
CCityBuilderCore.LayerMapHeight.LayerHeight | |
CCityBuilderCore.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) |
CCityBuilderCore.LayerPosition | Helper for LayerValues that holds the current value of a point and all the affectors that affect it |
CCityBuilderCore.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 |
CCityBuilderCore.LayerValues | |
CCityBuilderCore.LazyDependency< T > | |
CCityBuilderCore.LazyDependency< CityBuilderCore.IBuildingManager > | |
CCityBuilderCore.LazyDependency< CityBuilderCore.IGameSaver > | |
CCityBuilderCore.LazyDependency< CityBuilderCore.IGridPositions > | |
CCityBuilderCore.LazyDependency< CityBuilderCore.ILayerManager > | |
CCityBuilderCore.LazyDependency< CityBuilderCore.IMap > | |
CCityBuilderCore.LazyDependency< CityBuilderCore.IStructureManager > | |
►CCityBuilderCore.ManualWalkerSpawner< AttackWalker > | |
CCityBuilderCore.ManualAttackWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.ManualWalkerSpawner< CollectionWalker > | |
CCityBuilderCore.ManualCollectionWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.ManualWalkerSpawner< CustomDestinationWalker > | |
CCityBuilderManual.Custom.ManualCustomDestinationWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.ManualWalkerSpawner< CustomRoamingWalker > | |
CCityBuilderManual.Custom.ManualCustomRoamingWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.ManualWalkerSpawner< DeliveryWalker > | |
CCityBuilderCore.ManualDeliveryWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.ManualWalkerSpawner< EmigrationWalker > | |
CCityBuilderCore.ManualEmigrationWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.ManualWalkerSpawner< EmploymentWalker > | |
CCityBuilderCore.ManualEmploymentWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.ManualWalkerSpawner< HomelessWalker > | |
CCityBuilderCore.ManualHomelessWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.ManualWalkerSpawner< ImmigrationWalker > | |
CCityBuilderCore.ManualImmigrationWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.ManualWalkerSpawner< ItemsRetrieverWalker > | |
CCityBuilderCore.ManualItemsRetrieverWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.ManualWalkerSpawner< PurchaseWalker > | |
CCityBuilderCore.ManualPurchaseWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.ManualWalkerSpawner< RiskWalker > | |
CCityBuilderCore.ManualRiskWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.ManualWalkerSpawner< RoamingWalker > | |
CCityBuilderCore.ManualRoamingWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.ManualWalkerSpawner< SaleWalker > | |
CCityBuilderCore.ManualSaleWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.ManualWalkerSpawner< ServiceWalker > | |
CCityBuilderCore.ManualServiceWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.ManualWalkerSpawner< StorageWalker > | |
CCityBuilderCore.ManualStorageWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.ManualWalkerSpawner< TornadoWalker > | |
CCityBuilderUrban.ManualTornadoWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.ManualWalkerSpawner< TownWalker > | |
CCityBuilderTown.ManualTownWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.ManualWalkerSpawner< TruckWalker > | |
CCityBuilderUrban.ManualTruckWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.ManualWalkerSpawner< WanderingWalker > | |
CCityBuilderCore.ManualWanderingWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.ManualWalkerSpawner< WorkerWalker > | |
CCityBuilderCore.ManualWorkerWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCityBuilderCore.ManualWalkerSpawnerData | |
CCityBuilderCore.Tests.MapBaseTesting | |
CCityBuilderCore.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 |
CCityBuilderCore.Migration.MigrationData | |
CCityBuilderCore.MissionParameters | All parameters needed to start a scene
additionally to the Mission which contains what to start this defines how it is started
|
►CMonoBehaviour | |
CCityBuilderCore.AudioPool | Manages multiple audio sources for easy access by key |
CCityBuilderCore.AudioSlider | Allows changing a value of an audiomixer using a slider in the UI, value can also be persisted into player prefs |
CCityBuilderCore.BehaviourEventTrigger | 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 |
CCityBuilderCore.BuildingComponent | Base class for building components implementing IBuildingComponent |
CCityBuilderCore.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 |
CCityBuilderCore.BuildingRotationKeeper | Optional component that keeps rotation between different builders |
►CCityBuilderCore.BuildingValueBar | Base class for in game visuals of building values |
CCityBuilderCore.BuildingItemsBar | Visualizes item quantities by stacking its icon
used for the food view in THREE |
CCityBuilderCore.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 |
CCityBuilderCore.BuildingScaledBar | Visualizes a building value by scaling a transform along Y
used for the risk and service bars in THREE |
CCityBuilderCore.BuildingServicesBar | Visualizes services by displaying their icon if it is accessible
|
CCityBuilderCore.CameraArea | Shows main camera view area on minimap |
CCityBuilderCore.CameraController | Camera controller that works with various setups and provides mouse inpurt and main camera interfaces |
CCityBuilderCore.CameraMouseInput | 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 |
CCityBuilderCore.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) |
CCityBuilderCore.ConnectionSpriteGradient | Colors sprites in a sprite renderer based on a connection passer
in urban this is used to visualize whether buildings receive power |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.Deactivator | |
CCityBuilderCore.DefaultAttackManager | Default implementation for IAttackManager
attacker targets are chosen purely on distance |
CCityBuilderCore.DefaultBuildingManager | Manager behaviour that takes care of buildings, walkers and their bars |
CCityBuilderCore.DefaultConnectionManager | Straightforward conn manager implementation, should suffice for most cases |
CCityBuilderCore.DefaultGameManager | Default implementation for various meta game functionality(missions, saving, settings, ...) |
CCityBuilderCore.DefaultHighlightManager | Default implementation for IHighlightManager
uses tiles that are assigned in inspector |
CCityBuilderCore.DefaultItemManager | Default implementation for the resource systems
|
CCityBuilderCore.DefaultLayerManager | Layer manager iomplementation that can use a tilemap to define the base values |
CCityBuilderCore.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 |
CCityBuilderCore.DefaultNotificationManager | Default implementation of INotificationManager
instantiates a NotificationPanel for every notification that is requested |
CCityBuilderCore.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 |
CCityBuilderCore.DefaultPopulationManager | Default implementation of all people systems bundeld up into one for convenience
|
CCityBuilderCore.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 |
CCityBuilderCore.DefaultStructureManager | Straightforward IStructureManager implementation
holds collections, decorators and tiles in seperate lists similar to underlying structures |
CCityBuilderCore.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 |
CCityBuilderCore.DefaultViewManager | |
►CCityBuilderCore.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 |
CCityBuilderCore.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) |
►CCityBuilderCore.DialogBase | Simple base class for UI dialogs that mostly just provides a way to show and hide it |
CCityBuilderCore.EmploymentDialog | Dialog for employment stuff
can be used to configure employment priorities |
CCityBuilderCore.HappeningDialog | Dialog that shows start/end texts for happenings if they have one |
CCityBuilderCore.MessageBoxDialog | |
CCityBuilderCore.MissionDialog | Dialog for mission stuff
just a wrapper for MissionVisualizer |
CCityBuilderCore.SelectionDialog | Dialog that displays information about the selected building |
CCityBuilderCore.DisplayOptions | |
CCityBuilderCore.DistributionOrderPanel | Unity ui panel for visualizing and editing a DistributionOrder
only works in combination with the container DistributionOrdersPanel |
CCityBuilderCore.DistributionOrdersPanel | Container in unity ui that generates DistributionOrderPanel for visualizing and editing DistributionOrder |
CCityBuilderCore.EmploymentPriorityPanel | Unity ui panel for switching around the priorities of EmploymentGroup |
CCityBuilderCore.EmploymentVisualizer | Visualizes employment as text in unity ui
|
CCityBuilderCore.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) |
CCityBuilderCore.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) |
CCityBuilderCore.ExpandableStorageVisualizer | Generates visuals for the items stored in a stacked IStorageComponent
the visuals defined in Item are used |
CCityBuilderCore.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 |
CCityBuilderCore.Fader | Simple helper that fades a canvas group in or out over a short period |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.ItemPanel | Visualizes a specific item and its stored quantity
only works in combination with the container ItemsPanel |
CCityBuilderCore.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 |
CCityBuilderCore.ItemStorer | Utility class that adds items to an IItemOwner on the same gameobject when is starts, mostly used for testing |
CCityBuilderCore.ItemsPanel | Container in unity ui that generates ItemPanel for visualizing stored item quantities/> |
CCityBuilderCore.KeyedBehaviour | Behaviour that can be uniquely identified by a string key
it can then be retrieved from KeyedSet<T> by its key |
CCityBuilderCore.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 |
CCityBuilderCore.LayerAffectorVisualizer | Used by LayerKeyVisualizer to display the value for an affector |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.MaterialSwitcher | Utility components that provides a helper method that lets users switch between two materials |
CCityBuilderCore.MeshHighlightManager | Implementation of IHighlightManager that creates and dynamically adjusts meshes |
►CCityBuilderCore.MessageReceiver | Behaviour that can receive and pass simple string messages
events allow attaching actions to certain messages in the inspector |
CCityBuilderCore.Building | Default implementation for IBuilding |
CCityBuilderCore.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) |
CCityBuilderCore.Migration | Moves population quantities into and out of the map depending on the current sentiment |
CCityBuilderCore.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 |
CCityBuilderCore.MissionVisualizer | Displays mission info in unity ui and provides methods for starting/continuing it |
CCityBuilderCore.NavMeshUpdater | Can be used to update the navmesh at runtime using known components
source creation taken from https://github.com/Unity-Technologies/NavMeshComponents |
CCityBuilderCore.NotificationPanel | |
CCityBuilderCore.ObjectGenerator | Utility class that can be used to randomly place some objects
used in Three for bushes and pebbles |
CCityBuilderCore.ObjectPool | Simple object pooling implementation accessible through the dependency system and used in walker spawners for example |
CCityBuilderCore.ObjectRepository | Repository used to define and find the objects available to a scene |
CCityBuilderCore.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, .. |
CCityBuilderCore.PlaytimeVisual | Displays the current playtime in unity ui |
CCityBuilderCore.PopulationVisualizer | Visualizes employment as text in unity ui
|
CCityBuilderCore.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) |
CCityBuilderCore.ProgressScaler | Scales itself according to the attached ProgressComponent |
CCityBuilderCore.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 |
CCityBuilderCore.ReloadingItemsDispenser | Items dispenser that reloads its charges over time |
CCityBuilderCore.RoadBlockerPanel | Container in unity ui that generates toggles for visualizing and editing which tags a roadblocker blocks/> |
CCityBuilderCore.RoadBlockerToggle | Behaviour that can turn a tag on a RoadBlockerComponent on or off so that the related walkers can/cannot pass |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.SaveVisualizer | |
CCityBuilderCore.SaveVisualizerItem | |
CCityBuilderCore.ScorePanel | Visualizes a score
|
►CCityBuilderCore.SelectionSwitcher | Ui behaviour that allows cycling through selected buildings or walkers of the same type |
CCityBuilderTown.TownSelectionSwitcher | Variant of the SelectionSwitcher that also cycles walkers by the job they have in the town demo |
CCityBuilderCore.SingleItemsDispenser | Items dispenser that dispenses once and then self destructs |
CCityBuilderCore.SpriteColorRandomizer | Sets a random color for some sprite renderers, can be used to set some random color for a little visual variation |
CCityBuilderCore.SpriteHighlightManager | Implementation of IHighlightManager that instantiates sprites |
CCityBuilderCore.StateManager | |
CCityBuilderCore.StorageOrderPanel | Unity ui panel for visualizing and editing a StorageOrder
only works in combination with the container StorageOrdersPanel |
CCityBuilderCore.StorageOrdersPanel | Container in unity ui that generates StorageOrderPanel for visualizing and editing StorageOrder |
CCityBuilderCore.StorageQuantityVisual | Visualizes item quantity by setting gameObjects activity |
CCityBuilderCore.StorageQuantityVisualizer | Generates visuals for the items stored in a stacked IStorageComponent
the visuals defined in Item are used |
CCityBuilderCore.StorageVolumeVisualizer | Scales and colours meshes for the items stored in a stacked IStorageComponent
uses the material defined in Item.Material |
CCityBuilderCore.StructurePointEnabler | Enables a gameobject depending on whether it has all the defined points |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.StructureRoadSwitcher | Registers road switches at every point of the structure
demonstrated in the SwitchRoadDebugging test scene |
CCityBuilderCore.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 |
►CCityBuilderCore.TaskItem | Base class for tasks within TaskList/TaskStage
|
CCityBuilderCore.BuilderTaskItem | Task that gets completed when a specific building or road builder has built a set quantity of buildings/roads |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.ScoreTaskItem | Task that completes when a score reaches a certain value |
CCityBuilderCore.TaskStage | Stage within a TaskList that consists of several TaskItems |
CCityBuilderCore.TerrainRenderSimplifier | Hides trees and details from a terrain for the camera it sits on
used for the minimap in the town demo |
►CCityBuilderCore.Tests.CheckerBase | |
CCityBuilderCore.Tests.AddonChecker | |
CCityBuilderCore.Tests.BuildingChecker | |
CCityBuilderCore.Tests.BuildingCountChecker | |
CCityBuilderCore.Tests.BuildingPointChecker | |
CCityBuilderCore.Tests.BuildingRequirementChecker | |
CCityBuilderCore.Tests.EfficiencyChecker | |
CCityBuilderCore.Tests.ExistenceChecker | |
CCityBuilderCore.Tests.ExistencesChecker | |
CCityBuilderCore.Tests.HousingChecker | |
CCityBuilderCore.Tests.ItemOwnerChecker | |
CCityBuilderCore.Tests.ItemRecipientChecker | |
CCityBuilderCore.Tests.LayerChecker | |
CCityBuilderCore.Tests.RoadPointChecker | |
CCityBuilderCore.Tests.StorageChecker | |
CCityBuilderCore.Tests.StructureChecker | |
CCityBuilderCore.Tests.StructurePointChecker | |
CCityBuilderCore.Tests.DebugGameSettings | |
CCityBuilderCore.Tests.DebugHousingInhabitor | |
CCityBuilderCore.Tests.DebugItemProvider | |
CCityBuilderCore.Tests.DebugItemStorer | |
CCityBuilderCore.Tests.DebugMap | |
CCityBuilderCore.Tests.DebugServiceProvider | |
CCityBuilderCore.Tests.DebugWalkerManager | |
CCityBuilderCore.Tests.TerrainMovementAgent | |
CCityBuilderCore.TimingAnimationLoop | Behaviour that constantly sets an animator to the current progress of a timing unit check out the Lights in THREE for an example |
CCityBuilderCore.ToolsActivator | Helper for activating a tool from a UnityEngine.UI.Toggle |
CCityBuilderCore.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
|
CCityBuilderCore.ToolsGroupContent | Only exists because OnPointerExit behaviour has changed in Unity 2021
can be removed in earlier versions |
CCityBuilderCore.ToolsManager | Simple IToolsManager implementation that should suffice for most cases |
CCityBuilderCore.TooltipOwnerBase | Base class for ui behaviours that display tooltips |
CCityBuilderCore.TooltipPanel | Displays a tooltip in the UI
manages its position and display of name and description |
CCityBuilderCore.TransformRoadBlocker | Blocker that simply blocks its own position in the IRoadManager blocking prevents a Walker with PathType.RoadBlocked from using a point |
CCityBuilderCore.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 |
CCityBuilderCore.UnityAnimatorEvent | Proxy for setting animator values from unityevents |
CCityBuilderCore.UnityAnimatorEventVector | Proxy for setting animator values from unityevents |
CCityBuilderCore.UnityAnimatorEvents | Proxy for setting animator values from unityevents |
CCityBuilderCore.UnityKeyEvent | Fires unity events when a key is pressed or released |
CCityBuilderCore.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 |
►CCityBuilderCore.WalkerValueBar | Base class for in game visuals of walker values |
CCityBuilderCore.WalkerItemsBar | Visualizes item quantities by stacking its icon
|
CCityBuilderCore.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 |
CCityBuilderCore.WalkerRisksBar | Highlights risk walkers by displaying the risk icon above them |
CCityBuilderCore.WalkerServicesBar | Highlights service walkers by displaying the service icon above them |
CCityBuilderTown.TownWalkerActionBar | Visualizes what the walker is currently doing using an icon
tasks are visualized using TownTask.Icon, other processes use icons found in TownManager |
CCityBuilderTown.TownWalkerInfoBar | Visualizes a walkers job and name |
CCityBuilderCore.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 |
CCityBuilderCore.WorkersPanel | |
CCityBuilderDefense.DefenseManager | Any custom logic for the defense demo that is not covered by core
namely it manages the top level game state(started, won, lost, retry)
it also manages assigning the correct spawner stage which increases the difficulty over time
when structures are changed it makes every attacker recalculate their path |
CCityBuilderManual.Custom.CustomManager | |
CCityBuilderThree.ThreeManager | No longer needed since migration sentiment is driven by a score since version 1.4 but kept for compatibility
currently all logic in the three demo is covered by CityBuilderCore, if any custom logic is needed it could be placed here |
CCityBuilderTown.TownBuildingDialog | Visualizes the state of a town building in the UI |
CCityBuilderTown.TownLimitInput | Lets players set limits for certain items
for example wood has to be limited because there might be no logs left for construction otherwise |
CCityBuilderTown.TownMenu | Visualy fades between the different menu panels and provides logic for exiting and quitting the game |
CCityBuilderTown.TownMenuContinue | Used to continue the last saved game, disabled itself if there is no game to continue |
CCityBuilderTown.TownMenuLoad | Displays the created save games per mission and difficulty
save games can be selected and then loaded or deleted |
CCityBuilderTown.TownMenuNew | Manages the options for new games and also starts a new game and passes the options into the mission parameters |
CCityBuilderTown.TownMenuSave | Displays the created save games for the current mission and difficulty
save games can be deleted or overriden with a new save, creating a new save is done with a seperate input and button |
CCityBuilderTown.TownSaveGame | Behaviour used when displaying save games
shows things like name, image and duration and gives access to the button that is used to select saves |
CCityBuilderTown.TownSetup | Generates a random terrain at the start of the game
can be tested in the editor using the buttons in the inspector
theres a save test scene in CityBuilderTown.Tests/Setup/TownSetupTest.unity |
CCityBuilderTown.TownWalkerDialog | Visualizes the state of a town walker in the UI |
CCityBuilderUrban.MoneyVisual | Gets spawned in when money is earned or spent
the prefab also contains an animator which calls Done |
CCityBuilderCore.MonumentSiteComponent.MonumentSiteData | |
CCityBuilderCore.MonumentStage | One stage of the building process of a monument |
CCityBuilderCore.MonumentStep | Single step of building within a MonumentStage |
CCityBuilderCore.MonumentStep.MonumentStepData | |
CCityBuilderCore.RoadManagerBaseMulti.MultiRoadsData | |
CCityBuilderCore.MultiRoadManager.Network | Helper that combines a road with the tilemap it is visualized on |
CCityBuilderCore.NotificationRequest | Request sent to the INotificationManager to request that a notification gets displayed |
►CCityBuilderCore.ObjectSet< Score > | |
CCityBuilderCore.ScoreSet | Some collection of scores
a set of all scores in the game is needed by ObjectRepository so the IScoresCalculator can calculate them |
►CCityBuilderCore.ObjectSet< WalkerInfo > | |
CCityBuilderCore.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 |
CCityBuilderCore.GridPathfindingBurst.FindPathJob.PathNode | |
►CCityBuilderCore.PathQuery | Query that eventually produces a WalkingPath
enables distribution of path calculations across frames |
CCityBuilderCore.NoPathfinding.NoPathQuery | |
CCityBuilderUrban.PickupWalker.PickupWalkerData | |
CCityBuilderCore.PointsChanged< T > | |
CCityBuilderCore.PooledWalkerSeat | Helper class for PooledWalkerSpawner<T> that holds the cooldown for each individual walker |
CCityBuilderCore.PooledWalkerSeat.PooledWalkerSeatData | |
►CCityBuilderCore.PooledWalkerSpawner< AttackWalker > | |
CCityBuilderCore.PooledAttackWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.PooledWalkerSpawner< CollectionWalker > | |
CCityBuilderCore.PooledCollectionWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.PooledWalkerSpawner< CustomDestinationWalker > | |
CCityBuilderManual.Custom.PooledCustomDestinationWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.PooledWalkerSpawner< CustomRoamingWalker > | |
CCityBuilderManual.Custom.PooledCustomRoamingWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.PooledWalkerSpawner< DeliveryWalker > | |
CCityBuilderCore.PooledDeliveryWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.PooledWalkerSpawner< EmigrationWalker > | |
CCityBuilderCore.PooledEmigrationWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.PooledWalkerSpawner< EmploymentWalker > | |
CCityBuilderCore.PooledEmploymentWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.PooledWalkerSpawner< HomelessWalker > | |
CCityBuilderCore.PooledHomelessWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.PooledWalkerSpawner< ImmigrationWalker > | |
CCityBuilderCore.PooledImmigrationWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.PooledWalkerSpawner< ItemsRetrieverWalker > | |
CCityBuilderCore.PooledItemsRetrieverWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.PooledWalkerSpawner< PurchaseWalker > | |
CCityBuilderCore.PooledPurchaseWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.PooledWalkerSpawner< RiskWalker > | |
CCityBuilderCore.PooledRiskWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.PooledWalkerSpawner< RoamingWalker > | |
CCityBuilderCore.PooledRoamingWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.PooledWalkerSpawner< SaleWalker > | |
CCityBuilderCore.PooledSaleWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.PooledWalkerSpawner< ServiceWalker > | |
CCityBuilderCore.PooledServiceWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.PooledWalkerSpawner< StorageWalker > | |
CCityBuilderCore.PooledStorageWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.PooledWalkerSpawner< WanderingWalker > | |
CCityBuilderCore.PooledWanderingWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCityBuilderCore.PooledWalkerSpawner< WorkerWalker > | |
CCityBuilderCore.PooledWorkerWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCityBuilderCore.PooledWalkerSpawnerData | |
CCityBuilderCore.PooledWorkerProviderComponent.PooledWorkerProviderData | |
CCityBuilderCore.DefaultPopulationManager.PopulationData | |
CCityBuilderCore.PopulationEmployment | Helper that EmploymentComponent uses to define which populations and employment groups it used and how many |
CCityBuilderCore.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 |
CCityBuilderCore.PopulationHousing.PopulationHousingData | |
CCityBuilderCore.Tests.PositionTesting | |
CCityBuilderCore.ProcessState.ProcessData | |
CCityBuilderCore.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 |
►CCityBuilderCore.ProductionComponent.ProductionData | |
CCityBuilderCore.ProductionWalkerComponent.ProductionWalkerData | |
CCityBuilderTown.TownProductionComponent.TownProductionData | |
CCityBuilderCore.ProgressThreshold | Helper for ProgressThresholdVisualizer that combines a threshold value with the gameobject that threshold will activate |
►CPropertyAttribute | |
CCityBuilderCore.LayerAttribute | |
►CPropertyDrawer | |
CCityBuilderCore.Editor.BuildingRequirementDrawer | |
CCityBuilderCore.Editor.ItemCategoryQuantityDrawer | |
CCityBuilderCore.Editor.ItemCategoryRequirementDrawer | |
CCityBuilderCore.Editor.ItemQuantityDrawer | |
CCityBuilderCore.Editor.ItemStorageDrawer | |
CCityBuilderCore.Editor.LayerRequirementDrawer | |
CCityBuilderCore.Editor.ServiceCategoryRecipientDrawer | |
CCityBuilderCore.PurchaseWalker.PurchaseWalkerData | |
CCityBuilderUrban.HouseComponent.RailwayData | |
CCityBuilderUrban.RailwayComponent.RailwayData | |
CCityBuilderCore.ReloadingItemsDispenser.ReloadingData | |
CCityBuilderCore.RiskerComponent.RiskerData | |
CCityBuilderCore.RiskRecipient | Holds the value for a risk and increases it over time
|
CCityBuilderCore.RiskRecipient.RiskRecipientData | |
CCityBuilderCore.RiskWalkerComponent.RiskWalkerData | |
CCityBuilderCore.ServiceWalkerComponent.RiskWalkerData | |
CCityBuilderCore.WalkerComponent.RiskWalkerData | |
CCityBuilderCore.RoadNetwork.RoadData | |
CCityBuilderCore.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 |
CCityBuilderCore.RoadNetwork.RoadsData | |
CCityBuilderCore.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 |
CCityBuilderCore.RoamingState.RoamingData | |
CCityBuilderCore.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 |
CCityBuilderCore.RoamingWalker.RoamingWalkerData | |
►CRoamingWalkerData | |
CCityBuilderCore.CollectionWalker.CollectionWalkerData | |
CCityBuilderCore.EmploymentWalker.EmploymentWalkerData | |
CCityBuilderCore.SaleWalker.SaleWalkerData | |
CCityBuilderManual.Custom.CustomRoamingWalker.CustomRoamingWalkerData | |
CCityBuilderCore.Tests.RotationTesting | |
CCityBuilderUrban.UrbanManager.RunningCost | |
CCityBuilderCore.DefaultGameManager.SaveData | |
CCityBuilderCore.DefaultGameManager.SaveDataMeta | |
►CScriptableObject | |
CCityBuilderCore.Editor.SetupGenerator | Stores various resource used by the setup windows when generating a new game |
CCityBuilderCore.EvolutionSequence | Sequence of building evolution stages including descriptions and the logic to determine the current stage
|
CCityBuilderCore.KeyedObject | Scriptable that can be uniquely identified by a string key
it can then be retrieved from KeyedSet<T> by its key |
CCityBuilderCore.Layer | Layers are arrays of numbers underlying the map points(desirability, fertility, resources) |
►CCityBuilderCore.ObjectSetBase | Scriptable object that stores an array of other objects
used for things like BuildingInfoSet to store a known collection of buildings |
CCityBuilderCore.ObjectSet< T > | |
►CCityBuilderCore.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
|
CCityBuilderCore.AverageBuildingScore | Averages the values for different buildings
can be used for assessing the quality of housing |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.AverageScore | Calculates the mean average of other scores |
CCityBuilderCore.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 |
CCityBuilderCore.BuildingItemScore | Item quantity in building storage |
CCityBuilderCore.BuildingScore | Counts how many buildings currently exist on the map |
CCityBuilderCore.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 |
CCityBuilderCore.EmploymentScore | Employment percentage for a certain population |
CCityBuilderCore.ItemScore | Item quantity in global storage |
CCityBuilderCore.MultipliedScore | Multiplies another score |
CCityBuilderCore.PopulationScore | Quantity of a certain population |
CCityBuilderCore.SummedBuildingScore | Sums the values for different buildings
for example monument scores are added together |
CCityBuilderCore.SummedScore | Sums other scores together |
CCityBuilderCore.ThresholdScore | Transform a score by defining thresholds
for example the HAPEmploymentScore in THREE defines that employment under 50% causes a loss of 8 happiness |
CCityBuilderCore.WorkerScore | Worker percentage for a certain population
available/needed >> 20xvillager/10xfarmers=200% |
CCityBuilderManual.Custom.CustomScore | |
CCityBuilderCore.ScriptableHelper | |
►CCityBuilderCore.TimingHappening | Base class for timed events |
CCityBuilderCore.AnimationHappening | Event that, on activation, modifies the risk values of a set amount of buildings
increase > arsonist, disease outbreak, natural disaster(volcano, earthquake) ...
decrease > blessings, .. |
CCityBuilderCore.BuildingAddonHappening | Event that, on activation, modifies the risk values of a set amount of buildings
increase > arsonist, disease outbreak, natural disaster(volcano, earthquake) ...
decrease > blessings, .. |
CCityBuilderCore.CompositeHappening | Event that, on activation, modifies the risk values of a set amount of buildings
increase > arsonist, disease outbreak, natural disaster(volcano, earthquake) ...
decrease > blessings, .. |
CCityBuilderCore.DepopulationHappening | Kills a part of the population on start(relative to the capacity of the housing) |
CCityBuilderCore.DifficultyFactorHappening | Event that, while active, augments the game difficulty |
CCityBuilderCore.ItemStorageHappening | Event that, on activation, adds or removes the specified items
add > story based deliveries, discoveries, ...
decrease > spoiled food, thieves, .. |
CCityBuilderCore.LayerModifierHappening | Event that, during its activity, globally modifies a layers values
might be used for weather or seasons(heat, fertility, ...) |
CCityBuilderCore.MessageHappening | Event that sends messages to a named object, leave messages empty to not send |
CCityBuilderCore.ParticleHappening | Event that, during its activation, plays particles |
CCityBuilderCore.RiskModificationHappening | Event that, on activation, modifies the risk values of a set amount of buildings
increase > arsonist, disease outbreak, natural disaster(volcano, earthquake) ...
decrease > blessings, .. |
CCityBuilderCore.ScoreModifierHappening | 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 |
CCityBuilderCore.ServiceModificationHappening | Event that, on activation, modifies the service values of a set amount of buildings
increase > blessings, self sufficiency ...
decrease > water leak, thief, .. |
CCityBuilderCore.WalkerAddonHappening | Event that, on activation, modifies the risk values of a set amount of buildings
increase > arsonist, disease outbreak, natural disaster(volcano, earthquake) ...
decrease > blessings, .. |
CCityBuilderCore.TimingUnit | Describes some unit of time in the game that can be used to display playtime or specify when happenings should occur |
►CCityBuilderCore.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, .. |
►CCityBuilderCore.ViewBuildingBarBase | Non generic base class so ViewBuildingBar<T> can be accessed in IBarManager |
CCityBuilderCore.ViewBuildingBar< T > | Base class for views that visualize a IBuildingValue with a bar |
CCityBuilderCore.ViewBuildingHealthBar | |
CCityBuilderTown.ViewBuildingBarGeneric | View used for bars that take care of retrieving values on their own instead of using an IBuildingValue |
CCityBuilderCore.ViewComposite | View that transfers activation to its children |
CCityBuilderCore.ViewConnection | View that displays an overlay for a layer on a tilemap |
CCityBuilderCore.ViewCulling | View that changes camera culling
eg hiding irrelevant buildings |
CCityBuilderCore.ViewEfficiency | View that displays an overlay for efficiency on a tilemap |
CCityBuilderCore.ViewLayer | View that displays an overlay for a layer on a tilemap |
►CCityBuilderCore.ViewWalkerBarBase | Non generic base class so ViewWalkerBar<T> can be accessed in IBarManager |
CCityBuilderCore.ViewWalkerBar< T > | Base class for views that visualize a IWalkerValue with a bar |
CCityBuilderCore.ViewWalkerHealthBar | |
CCityBuilderTown.TownViewWalkerEnergyBar | View that visualizes a walkers current energy in percent |
CCityBuilderTown.TownViewWalkerFoodBar | View that visualizes a walkers current food in percent |
CCityBuilderTown.TownViewWalkerWarmthBar | View that visualizes a walkers current warmth in percent |
CCityBuilderTown.ViewWalkerBarGeneric | View used for bars that take care of retrieving values on their own instead of using an IWalkerValue |
CCityBuilderCore.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 |
CCityBuilderCore.Worker | Type of worker(mason, carpenter, laborer) |
CCityBuilderCore.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 |
CCityBuilderCore.ServiceCategoryRecipient.ServiceCategoryRecipientData | |
CCityBuilderCore.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 |
CCityBuilderCore.ServiceEfficiencyComponent.ServiceEfficiencyData | |
CCityBuilderCore.ServiceRecipient | Holds the value for a service and decreases it over time
|
CCityBuilderCore.ServiceRecipient.ServiceRecipientData | |
CCityBuilderCore.Editor.SetupModel | |
CCityBuilderUrban.ShopComponent.ShopData | |
CCityBuilderCore.AttackSlowAddon.SlowData | |
CCityBuilderCore.StateManager.StateEntry | |
CCityBuilderCore.StateManager.StateOverride | |
CCityBuilderCore.StorageComponent.StorageData | |
CCityBuilderCore.StorageOrder | |
CCityBuilderCore.StorageOrder.StorageOrderData | |
CCityBuilderCore.StorageWalker.StorageWalkerData | |
CCityBuilderCore.StorageWalkerComponent.StorageWalkerData | |
CCityBuilderCore.StructureCollection.StructureCollectionData | |
CCityBuilderCore.StructureDecorators.StructureDecoratorData | |
CCityBuilderCore.StructureDecorators.StructureDecoratorsData | |
CCityBuilderCore.StructureLevelManager | Helper used by DefaultStructureManager to store the structure references for one structure level |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.StructurePathOption | |
CCityBuilderCore.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 |
CCityBuilderCore.DefaultStructureManager.StructuresData | |
CCityBuilderCore.TilemapSpawner.StructureSpawnerData | |
CCityBuilderCore.TilemapSpawner.StructureSpawnerInstanceData | |
CCityBuilderCore.StructureTiles.StructureTilesData | |
CCityBuilderCore.RoadBlockerComponent.TaggedBlockerData | |
CCityBuilderCore.TerrainMap.TaggedLimit | |
CCityBuilderCore.DefaultMap.TaggedTiles | |
CCityBuilderCore.TaskList.TaskListData | |
CCityBuilderCore.TerrainModifier.TerrainModifierData | |
CCityBuilderCore.TerrainModifier.TerrainModifierTree | |
►CCityBuilderCore.Tests.TestingBase | |
CCityBuilderCore.Tests.AttackTesting | |
CCityBuilderCore.Tests.BuildingRequirementTesting | |
CCityBuilderCore.Tests.ConstructionTesting | |
CCityBuilderCore.Tests.DistributionTesting | |
CCityBuilderCore.Tests.EmploymentTesting | |
CCityBuilderCore.Tests.EvolutionTesting | |
CCityBuilderCore.Tests.GenerationTesting | |
CCityBuilderCore.Tests.LayerTesting | |
CCityBuilderCore.Tests.LinkRoadTesting | |
CCityBuilderCore.Tests.MigrationTesting | |
CCityBuilderCore.Tests.MovementTesting | |
CCityBuilderCore.Tests.MultiRoadTesting | |
CCityBuilderCore.Tests.ProductionTesting | |
CCityBuilderCore.Tests.RetrieverTesting | |
CCityBuilderCore.Tests.RiskTesting | |
CCityBuilderCore.Tests.ServiceTesting | |
CCityBuilderCore.Tests.StorageTesting | |
CCityBuilderCore.Tests.StructurePathTesting | |
CCityBuilderCore.Tests.SwitchRoadTesting | |
CCityBuilderCore.Tests.TownConstructionTest | |
CCityBuilderCore.Tests.TownForresterTest | |
CCityBuilderCore.Tests.TownGathererTest | |
CCityBuilderCore.Tests.TownHarvestTest | |
CCityBuilderCore.Tests.TownHomeTest | |
CCityBuilderCore.Tests.TownMarketTest | |
CCityBuilderCore.Tests.TownPathTest | |
CCityBuilderCore.Tests.TownWoodcutterTest | |
CCityBuilderCore.Tests.WorkerTesting | |
CCityBuilderCore.ThresholdScore.ThresholdItem | |
►CTileBase | |
CCityBuilderCore.ConnectableTile | Tiles that does not change itself but refreshes connected neighbors |
►CCityBuilderCore.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
|
CCityBuilderCore.ConnectedHexagonTile | Tile that can be used for connections in hex grids with irregular sizes
check out CityBuilderCore.Tests/Other/HexRoad for examples |
CCityBuilderCore.ConnectedHexagonTileEQ | Tile that can be used for connections in hex grids with equidistant sizes
check out CityBuilderCore.Tests/Other/HexRoad for examples |
►CCityBuilderCore.ConnectedIsometricTile | Connecting tile for isometric grids, used for roads and rails in the urban demo |
CCityBuilderCore.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 |
►CCityBuilderCore.ConnectedRectangleTile | Connecting tile for rectangle grids, used in the historic demo also used for the roads in THREE |
CCityBuilderCore.ConnectionRectangleTile | Special connected rectangular tile that will connect to any point that has a connection |
CCityBuilderUrban.PowerTile | Tile for the power lines in the urban demo
shows different sprites for 0 / \ X |
CCityBuilderCore.ObjectTile | Tile that instantiates gameobjects |
CCityBuilderCore.ObjectGenerator.TilemapTile | |
CCityBuilderCore.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 |
CCityBuilderCore.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 |
CCityBuilderCore.TimingHappeningState | Helper class that keeps track of the state of happenings and correctly calls their lifetime methods |
CCityBuilderCore.Tests.TimingTesting | |
CCityBuilderTown.TownHomeComponent.TomeHomeData | |
CCityBuilderTown.TownBuildTask.TownBuildTaskData | |
CCityBuilderTown.TownDistributionTask.TownBuildTaskData | |
CCityBuilderTown.TownConstructionComponent.TownConstructionData | |
CCityBuilderTown.TownFarmingComponent.TownFarmingData | |
CCityBuilderTown.TownGatheringComponent.TownFarmingData | |
CCityBuilderTown.TownFieldTask.TownFieldData | |
CCityBuilderTown.TownForestingComponent.TownForestingData | |
CCityBuilderTown.TownHarvestTask.TownHarvestTaskData | |
CCityBuilderTown.TownIdentity | Holds the "personality" of a TownWalker, randomly generated when a walker spawns |
CCityBuilderTown.TownManager.TownManagerData | |
CCityBuilderTown.TownMarketComponent.TownMarketData | |
CCityBuilderTown.TownTaskData | Class used when persisting tasks
tasks that have state of their own can override TownTask.saveExtras and TownTask.loadExtras(string) |
CCityBuilderTown.TownWorkComponent.TownWorkData | |
CCityBuilderUrban.TrainWalker.TrainWalkerData | |
CCityBuilderCore.StateManager.TransitionEntry | |
►CUnityEvent | |
CCityBuilderCore.BoolEvent | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCityBuilderCore.BuildingEvent | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCityBuilderCore.FloatEvent | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCityBuilderCore.IntEvent | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCityBuilderCore.PointValueEvent | |
CCityBuilderCore.TimingHappeningStateEvent | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCityBuilderCore.ToolEvent | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCityBuilderCore.Vector2Event | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCityBuilderCore.Vector2IntEvent | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCityBuilderCore.Vector3Event | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCityBuilderCore.WalkerEvent | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCityBuilderCore.VariantProductionComponent.Variant | |
►CCityBuilderCore.VariantProductionComponent.VariantProductionData | |
CCityBuilderCore.VariantProductionWalkerComponent.VariantProductionWalkerData | |
►CCityBuilderCore.ViewBuildingBar< Item > | |
CCityBuilderCore.ViewBuildingItemBar | |
►CCityBuilderCore.ViewBuildingBar< ItemCategory > | |
CCityBuilderCore.ViewBuildingItemCategoryBar | |
►CCityBuilderCore.ViewBuildingBar< ItemSet > | |
CCityBuilderCore.ViewBuildingItemsBar | |
►CCityBuilderCore.ViewBuildingBar< Layer > | |
CCityBuilderCore.ViewBuildingLayerBar | |
►CCityBuilderCore.ViewBuildingBar< Risk > | |
CCityBuilderCore.ViewBuildingRiskBar | |
►CCityBuilderCore.ViewBuildingBar< Service > | |
CCityBuilderCore.ViewBuildingServiceBar | |
►CCityBuilderCore.ViewBuildingBar< ServiceCategory > | |
CCityBuilderCore.ViewBuildingServiceCategoryBar | |
►CCityBuilderCore.ViewWalkerBar< Item > | |
CCityBuilderCore.ViewWalkerItemBar | |
►CCityBuilderCore.ViewWalkerBar< ItemCategory > | |
CCityBuilderCore.ViewWalkerItemCategoryBar | |
►CCityBuilderCore.ViewWalkerBar< ItemSet > | |
CCityBuilderCore.ViewWalkerItemsBar | |
►CCityBuilderCore.ViewWalkerBar< Risk > | |
CCityBuilderCore.ViewWalkerRiskBar | |
►CCityBuilderCore.ViewWalkerBar< RiskCategory > | |
CCityBuilderCore.ViewWalkerRiskCategoryBar | |
►CCityBuilderCore.ViewWalkerBar< Service > | |
CCityBuilderCore.ViewWalkerServiceBar | |
►CCityBuilderCore.ViewWalkerBar< ServiceCategory > | |
CCityBuilderCore.ViewWalkerServiceCategoryBar | |
►CVisualElement | |
CCityBuilderCore.Editor.BuildingCategoryElement | |
CCityBuilderCore.Editor.BuildingComponentElement | |
CCityBuilderCore.Editor.BuildingElement | |
CCityBuilderCore.Editor.ItemElement | |
CCityBuilderCore.Editor.WalkerElement | |
CCityBuilderCore.WaitingState.WaitingData | |
CCityBuilderCore.WaitingState | Helper class for Walker that hold the current status when it is just waiting for a set time
|
►CCityBuilderCore.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 |
►CCityBuilderCore.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 |
CCityBuilderTown.TownProgressAction | Walker action that progresses a task by calling (like harvesting or building)
calls TownTask.ProgressTask(TownWalker, string) and ends when that returns false
this is done so the progress value can be stored on the task which makes it possible
for multiple walkers to work on the same task and for walkers to stop progressing midway |
CCityBuilderTown.TownWorkAction | Just puts the walker in an animation that shows it is working
in combination with TownWorkTask and TownWorkComponent this can drive a buildings efficiency
(for example in the Woodcutter which has a TownProductionComponent that uses that efficiency) |
CCityBuilderCore.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) |
CCityBuilderCore.ItemsGiverAction | Walks to an IItemGiver and gives items to the walker |
CCityBuilderCore.ItemsReceiverAction | Walks to an IItemReceiver and lets the receiver get items from the walker |
CCityBuilderCore.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 |
CCityBuilderCore.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) |
CCityBuilderCore.RoamAction | Makes the walker roam |
CCityBuilderCore.RoamActionTyped | Makes the walker roam on a specified path type |
CCityBuilderCore.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 |
►CCityBuilderCore.WaitAction | Action that simply waits for a set time |
CCityBuilderCore.RotateAction | |
CCityBuilderCore.WaitAnimatedAction | Action that simply waits for a set time and plays an animation |
CCityBuilderCore.WalkBuildingAction | Attempts to walk to a building |
CCityBuilderCore.WalkPathAction | Makes the walker walk a set path |
CCityBuilderCore.WalkPointAction | Attempts to walk to a point |
CCityBuilderCore.WalkPointActionTyped | Attempts to walk to a point |
CCityBuilderTown.TownProvisionAction | Action that provisions a TownHomeComponent with a type of item like food or wood
which item that is, as well as the giver and the path to take, has to be provided
the action reserves the items quantity in the giver and the needed capacity in the home |
CCityBuilderTown.TownRecoveryAction | Walker action that is triggered when a walker runs out of energy from working
the action leaves the walker standing still and calls TownWalker.Recover until the walker returns false when it has full energy again |
CCityBuilderTown.TownSignalAction | Walker action that just sends a signal in the form of a text key to the walkers current task
may be used to signal to the task that a certain stage of the process has been reached |
CCityBuilderCore.Walker.WalkerAddonMetaData | |
CCityBuilderCore.Walker.WalkerData | |
►CCityBuilderCore.WalkerSpawner< T > | Base class for spawning and keeping track of walkers |
CCityBuilderCore.CyclicWalkerSpawner< T > | Cyclically spawns walkers on its own cooldown
for individual walker cooldowns use PooledWalkerSpawner<T> |
CCityBuilderCore.ManualWalkerSpawner< T > | Walker spawner that does not spawn on its own |
CCityBuilderCore.PooledWalkerSpawner< T > | Cyclic spawner with individual cooldowns for walkers and a spawner cooldown between walkers |
CCityBuilderCore.WalkerValueBars | Helper for DefaultBuildingManager that manages building bars |
CCityBuilderCore.WalkingAgentState.WalkingAgentData | |
CCityBuilderCore.WalkingAgentState | Helper class for Walker that hold the current status when the walker is using a navmesh agent to reach a target |
CCityBuilderCore.WalkingState.WalkingData | |
CCityBuilderCore.WalkingPath | Collection of map points or world positions that can be followed by a walker |
CCityBuilderCore.WalkingPath.WalkingPathData | |
CCityBuilderCore.WalkingState | Helper class for Walker that hold the current status when the walker is following a WalkingPath
|
CCityBuilderCore.Wanderer.WandererData | |
CCityBuilderCore.WanderingWalker.WanderingWalkerData | |
CCityBuilderCore.WinCondition | |
CCityBuilderCore.WorkerPath | Reference and path to a workers workplace
may include a path to an itemGiver to get supplies needed for the work |
CCityBuilderCore.WorkerPath.WorkerPathData | |
CCityBuilderCore.WorkerPathQuery | Query that eventually produces a WorkerPath
enables distribution of calculations across frames |
CCityBuilderCore.WorkerWalker.WorkerWalkerData | |
CCityBuilderTown.TownWalker.WorkerWalkerData | |