ClassicCityBuilderKit 1.8.8
|
►NCityBuilderCore | |
►NEditor | |
CBuildingCategoryElement | |
CBuildingComponentEditor | |
CBuildingComponentElement | |
CBuildingElement | |
CBuildingRequirementDrawer | |
CBuildingsWindow | |
CDebugEditor | |
CEditorDialog | |
CEffectPoolEditor | |
CEvolutionComponentEditor | |
CItemCategoryQuantityDrawer | |
CItemCategoryRequirementDrawer | |
CItemEfficiencyComponentEditor | |
CItemElement | |
CItemQuantityDrawer | |
CItemStorageDrawer | |
CItemStoreEditor | |
CItemsWindow | |
CLayerRequirementDrawer | |
CProductionComponentEditor | |
CRiskerComponentEditor | |
CServiceCategoryRecipientDrawer | |
CServiceEfficiencyComponentEditor | |
CSetupGenerator | Stores various resource used by the setup windows when generating a new game |
CSetupModel | |
CSetupWindow | |
CStorageComponentEditor | |
CTimingHappeningEditor | |
CWalkerElement | |
CWalkersWindow | |
►NTests | |
CAddonChecker | |
CAttackTesting | |
CBuildingChecker | |
CBuildingCountChecker | |
CBuildingPointChecker | |
CBuildingRequirementChecker | |
CBuildingRequirementTesting | |
CCheckerBase | |
CConstructionTesting | |
CDebugAttacker | |
CDebugBuilding | |
CDebugGameSettings | |
CDebugHousingInhabitor | |
CDebugItemProvider | |
CDebugItemStorer | |
CDebugMap | |
CDebugMoveTool | Can be used to move walkers for debugging |
CDebugNoEfficiencyComponent | |
CDebugRoamer | |
CDebugServiceProvider | |
CDebugStructure | |
CDebugWalker | |
CDebugWalkerManager | |
CDistributionTesting | |
CEfficiencyChecker | |
CEmploymentTesting | |
CEvolutionTesting | |
CExistenceChecker | |
CExistencesChecker | |
CGenerationTesting | |
CHousingChecker | |
CItemOwnerChecker | |
CItemRecipientChecker | |
CItemStorageTesting | |
CLayerChecker | |
CLayerTesting | |
CLinkRoadTesting | |
CMapBaseTesting | |
CMigrationTesting | |
CMovementTesting | |
CMultiRoadTesting | |
CPositionTesting | |
CProductionTesting | |
CRetrieverTesting | |
CRiskTesting | |
CRoadPointChecker | |
CRotationTesting | |
CServiceTesting | |
CStorageChecker | |
CStorageTesting | |
CStructureChecker | |
CStructurePathTesting | |
CStructurePointChecker | |
CSwitchRoadTesting | |
CTerrainMovementAgent | |
CTestingBase | |
CTimingTesting | |
CTownConstructionTest | |
CTownForresterTest | |
CTownGathererTest | |
CTownHarvestTest | |
CTownHomeTest | |
CTownMarketTest | |
CTownPathTest | |
CTownWoodcutterTest | |
CWorkerTesting | |
CAnimatedActionBase | 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 |
CAnimationHappening | Event that, on activation, modifies the risk values of a set amount of buildings increase > arsonist, disease outbreak, natural disaster(volcano, earthquake) ... decrease > blessings, .. |
►CAttackableComponent | Building component that has health and can be attacked, terminates the building when its health runs out |
CAttackebleData | |
►CAttackSlowAddon | 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 |
CSlowData | |
►CAttackWalker | Walks to the closest attackable and attacks it periodically until it is dead, rinse and repeat |
CAttackWalkerData | |
►CAudioPool | Manages multiple audio sources for easy access by key |
CAudioPoolEntry | |
CAudioPoolValue | |
CAudioSlider | Allows changing a value of an audiomixer using a slider in the UI, value can also be persisted into player prefs |
CAverageBuildingScore | Averages the values for different buildings can be used for assessing the quality of housing |
CAverageLayerScore | Averages the layer values accross buildings on the map for example the DesirabilityScore in THREE averages the desirability layer value for all housing buildings |
CAverageRiskScore | 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 |
CAverageScore | Calculates the mean average of other scores |
CAverageServiceScore | 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 |
CBaseTool | 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 |
CBehaviourEventTrigger | 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 |
CBlockingTile | 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 |
CBoolEvent | Concrete implementation for serialization, not needed starting unity 2020.1 |
CBuilderTaskItem | Task that gets completed when a specific building or road builder has built a set quantity of buildings/roads |
►CBuilding | Default implementation for IBuilding |
CBuildingAddonMetaData | |
CBuildingComponentMetaData | |
CBuildingData | |
CBuildingAddon | 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, .. |
CBuildingAddonEffect | 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) |
CBuildingAddonHappening | Event that, on activation, modifies the risk values of a set amount of buildings increase > arsonist, disease outbreak, natural disaster(volcano, earthquake) ... decrease > blessings, .. |
CBuildingAddonMaterial | Changes materials of renderers on the building while active for example for outline or highlight materials |
CBuildingAddonSet | 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 |
CBuildingAddonSpawn | Addon that visualy spawns in the building by scaling it up and rotating it using a coroutine(no animation needed) |
CBuildingAddonTransformer | 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 |
CBuildingBuilder | Tool for placing buildings |
CBuildingCategory | Category for bundling and filtering buildings(entertainment, religion, ....), mainly used in scores |
CBuildingComponent | Base class for building components implementing IBuildingComponent |
CBuildingComponentPath | 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> |
CBuildingComponentPathQuery | Query that eventually produces a BuildingComponentPath<T> for example in paths leading to item givers or receivers enables distribution of path calculations across frames |
CBuildingComponentReference | 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 |
CBuildingComponentReferenceData | |
CBuildingComponentWalker | 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 |
CBuildingEfficiencyVisualizer | 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 |
CBuildingEvaluation | 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 |
CBuildingEvent | Concrete implementation for serialization, not needed starting unity 2020.1 |
CBuildingInfo | Meta info for data that does not change between instances of a building can be used to compare buildings(is that building a silo?) |
CBuildingInfoSet | 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 |
CBuildingItemsBar | Visualizes item quantities by stacking its icon used for the food view in THREE |
CBuildingItemScore | Item quantity in building storage |
CBuildingRectBar | 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 |
CBuildingReference | 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 |
CBuildingRequirement | 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 |
CBuildingRotation | 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) |
CBuildingRotationHexagon | 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) |
CBuildingRotationKeeper | Optional component that keeps rotation between different builders |
CBuildingRotationRectangle | 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) |
CBuildingScaledBar | Visualizes a building value by scaling a transform along Y used for the risk and service bars in THREE |
CBuildingScore | Counts how many buildings currently exist on the map |
CBuildingServicesBar | Visualizes services by displaying their icon if it is accessible |
CBuildingTaskItem | 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 |
CBuildingValueBar | Base class for in game visuals of building values |
CBuildingValueBars | Helper for DefaultBuildingManager that manages building bars |
CBuildingWalker | Base class for walkers that roam and perform actions when passing buildings |
CCameraArea | Shows main camera view area on minimap |
CCameraController | Camera controller that works with various setups and provides mouse inpurt and main camera interfaces |
CCameraMouseInput | 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 |
►CCollectionComponent | 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 |
CCollectionData | |
►CCollectionWalker | Roams around and collects items from the IGenerationComponent it encounters the kinds of items it collects must be configured in Items |
CCollectionWalkerData | |
CCompositeHappening | Event that, on activation, modifies the risk values of a set amount of buildings increase > arsonist, disease outbreak, natural disaster(volcano, earthquake) ... decrease > blessings, .. |
CConnectableTile | Tiles that does not change itself but refreshes connected neighbors |
CConnectedHexagonTile | Tile that can be used for connections in hex grids with irregular sizes check out CityBuilderCore.Tests/Other/HexRoad for examples |
CConnectedHexagonTileEQ | Tile that can be used for connections in hex grids with equidistant sizes check out CityBuilderCore.Tests/Other/HexRoad for examples |
CConnectedIsometricTile | Connecting tile for isometric grids, used for roads and rails in the urban demo |
CConnectedRectangleTile | Connecting tile for rectangle grids, used in the historic demo also used for the roads in THREE |
CConnectedTileBase | 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 |
CConnection | Connections are networks of values on the Map they consist of feeders which determine the values and passers that just pass them along |
CConnectionFeederBuilder | 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 |
CConnectionFeederComponent | 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 |
CConnectionFeederStructure | Feeds into a connection at the structures points |
CConnectionFeederTiles | Feeds and passes a connection on every point that a tile has on a tilemap, only evaluated at the start |
CConnectionGrid | Helper class used by DefaultConnectionManager to encapsulate connection handling for one connection |
CConnectionIsometricTile | 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 |
CConnectionPasserBase | 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) |
CConnectionPasserComponent | Passes a connection and influences building efficiency from its connection value |
CConnectionPasserStructure | Will pass a connection at the points of a structure |
CConnectionPasserTiles | Passes a connection on every point that a tile has on a tilemap, only evaluated which points those are at the start |
CConnectionPoint | Helper used by ConnectionGrid to hold the value and passer of a point in the connection grid |
CConnectionRectangleTile | Special connected rectangular tile that will connect to any point that has a connection |
CConnectionSpriteGradient | Colors sprites in a sprite renderer based on a connection passer in urban this is used to visualize whether buildings receive power |
CConnectionTileGradient | 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 |
CConnectionValueVisualizer | 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 |
CContinueVisualizer | 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 |
CCoroutineToken | Wrapper around coroutines that allows monitoring its activity and stopping it easily |
CCoverageScore | 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 |
CCyclicAttackWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCyclicCollectionWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCyclicDeliveryWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCyclicEmigrationWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCyclicEmploymentWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCyclicHomelessWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCyclicImmigrationWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCyclicItemsRetrieverWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCyclicPurchaseWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCyclicRiskWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCyclicRoamingWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCyclicSaleWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCyclicServiceWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCyclicStorageWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCyclicWalkerSpawner | Cyclically spawns walkers on its own cooldown for individual walker cooldowns use PooledWalkerSpawner<T> |
CCyclicWalkerSpawnerData | |
CCyclicWanderingWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CCyclicWorkerProviderComponent | Workery periodically as long as the buildings is working, spawn rate is influenced by building efficiency |
CCyclicWorkerProviderData | |
CCyclicWorkerWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CDeactivator | |
CDefaultAttackManager | Default implementation for IAttackManager attacker targets are chosen purely on distance |
►CDefaultBuildingManager | Manager behaviour that takes care of buildings, walkers and their bars |
CBuildingMetaData | |
CBuildingsData | |
CDefaultConnectionManager | Straightforward conn manager implementation, should suffice for most cases |
►CDefaultGameManager | Default implementation for various meta game functionality(missions, saving, settings, ...) |
CExtraSaveData | |
CSaveData | |
CSaveDataMeta | |
CDefaultHighlightManager | Default implementation for IHighlightManager uses tiles that are assigned in inspector |
CDefaultItemManager | Default implementation for the resource systems |
CDefaultLayerManager | Layer manager iomplementation that can use a tilemap to define the base values |
►CDefaultMap | 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 |
CTaggedTiles | |
CDefaultMapHeight | 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 |
CDefaultNotificationManager | Default implementation of INotificationManager instantiates a NotificationPanel for every notification that is requested |
CDefaultOverlayManager | 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 |
►CDefaultPopulationManager | Default implementation of all people systems bundeld up into one for convenience |
CEmploymentData | |
CEmploymentGroupData | |
CPopulationData | |
CDefaultRoadManager | 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 |
CDefaultScoresCalculator | 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 |
►CDefaultStructureManager | Straightforward IStructureManager implementation holds collections, decorators and tiles in seperate lists similar to underlying structures |
CStructuresData | |
CDefaultTooltipManager | 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 |
CDefaultViewManager | |
►CDefenderAreaComponent | Building component that periodically checks for attackers in a radius it can do damage or add addons to the attackers it finds |
CDefenderAreaData | |
►CDefenderComponent | 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 |
CDefenderData | |
►CDeliveryWalker | 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 |
CDeliveryWalkerData | |
CDemolishTool | Tool that removes structures |
CDemolishVisual | 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 |
CDemolishVisualDespawn | Variant of demolish visual that scales down and rotates itself until it finally removes itself(quick and easy animated despawn without needing actual animation) |
CDepopulationHappening | Kills a part of the population on start(relative to the capacity of the housing) |
CDialogBase | Simple base class for UI dialogs that mostly just provides a way to show and hide it |
CDifficulty | Object that defines parameters that influence how hard a mission is for additional parameters just derive from this object |
CDifficultyFactorHappening | Event that, while active, augments the game difficulty |
CDifficultySet | 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 |
►CDiseaseAddon | Addon that simulates a disease |
CDiseaseData | |
CDisplayOptions | |
►CDistributionComponent | 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 |
CDistributionData | |
CDistributionOrder | Helper for DistributionComponent that combines an item with a ratio |
CDistributionOrderPanel | Unity ui panel for visualizing and editing a DistributionOrder only works in combination with the container DistributionOrdersPanel |
CDistributionOrdersPanel | Container in unity ui that generates DistributionOrderPanel for visualizing and editing DistributionOrder |
CEmigrationWalker | Walks leaving population out of the map |
CEmploymentComponent | 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 |
CEmploymentDialog | Dialog for employment stuff can be used to configure employment priorities |
CEmploymentGroup | Types of employment that can have different priorities so less essential groups loose access first(services, logistics, food, industry, ...) |
CEmploymentGroupPopulation | Container that distributes employees within an EmploymentGroup and CityBuilderCore.Population |
CEmploymentGroupSet | Some collection of employment groups a set of all groups in the game is needed in ObjectRepository for the population manager to find priorities |
CEmploymentPopulation | Container that distributes employees within a CityBuilderCore.Population |
CEmploymentPriorityPanel | Unity ui panel for switching around the priorities of EmploymentGroup |
CEmploymentScore | Employment percentage for a certain population |
CEmploymentVisualizer | Visualizes employment as text in unity ui |
►CEmploymentWalker | Sums up population count of the housings it passes so a EmploymentWalkerComponent can determine its access to employees |
CEmploymentWalkerData | |
►CEmploymentWalkerComponent | Building component that uses employees to influence the buildings efficiency sends out a walker that determines how good the access to employees is |
CEmploymentWalkerData | |
CEnterManualHeightOverride | 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) |
►CEvolutionComponent | Default building component for handling evolution |
CEvolutionData | |
CEvolutionSequence | Sequence of building evolution stages including descriptions and the logic to determine the current stage |
CEvolutionStage | |
CExpandableBuilder | Special builder that can place ExpandableBuilding of dynamic size by dragging out the size |
►CExpandableBuilding | 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 |
CExpandableBuildingData | |
CExpandableBuildingInfo | Special info for buildings that can have variable sizes for example bridges in THREE, fields and storage areas in TOWN demo |
CExpandableCollider | 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) |
CExpandableOffGridLink | Specialized version of OffGridLink for expandable buildings adjusts cost and distance according to the linear expansion of the building |
CExpandableStorageVisualizer | Generates visuals for the items stored in a stacked IStorageComponent the visuals defined in Item are used |
CExpandableVisual | 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 |
CExtraDataBehaviour | 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 |
CFader | Simple helper that fades a canvas group in or out over a short period |
►CFireAddon | Addon that simulates a fire |
CFireData | |
►CFireWalker | 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 |
CFireWalkerData | |
CFloatEvent | Concrete implementation for serialization, not needed starting unity 2020.1 |
CGameSaverProxy | 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 |
CGameSpeedProxy | 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 |
►CGenerationComponent | Building component that periodically generates items(speed influenced by efficiency) |
CGenerationData | |
CGiveItemsAction | 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) |
CGridLinks | Helper used to keep track of IGridLink so they can be quickly retrieved by their position |
CGridPathfinding | Simple a* implementation for non diagonal pathfinding between equidistant points, used by road and mapGrid pathfinding |
CGridPathfindingBase | |
►CGridPathfindingBurst | |
►CFindPathJob | |
CPathNode | |
CGridPathfindingSettings | |
CHappeningDialog | Dialog that shows start/end texts for happenings if they have one |
CHexagonMap | Adjusts the DefaultMap to work with a hexagon grid |
►CHomelessWalker | Population that could not be contained by downgraded housing, roams around randomly until housing is found or the range runs out |
CHomelessWalkerData | |
►CHousingComponent | Prodvides housing for the population, influences efficiency by its occuption(efficiency could be used for tax generation for example) |
CHousingData | |
►CHousingPlaceholderComponent | Waits to be occupied, is then replaced be the actual building |
CHousingPlaceholderData | |
CIAttackable | Building component that can be attacked |
CIAttacker | Interface for any entity that attacks IAttackables and is fended of by DefenderComponents |
CIAttackManager | Manages attack system |
CIBarManager | Responsible for adding adding and removing visuals for building and walker values |
CIBuilding | |
CIBuildingComponent | 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 |
CIBuildingManager | Component that tracks all the buildings in the game |
CIBuildingTrait | 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 |
CIBuildingValue | Any kind of value a building might have(risks, services, items, ...) |
CIConnectionFeeder | 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 |
CIConnectionManager | Handles connections and their values |
CIConnectionPasser | Any object that lets a connection pass through its points gets notified when any of the values at those points change |
CIDifficultyFactor | Something influencing difficulty, multiple factors are multiplied |
CIDistributionComponent | Building component that gets items, stores them and then distributes them to ItemRecipient |
CIEfficiencyFactor | Put this interface on any building part that needs to affect the buildings efficiency |
CIEmployment | Building component that uses employees |
CIEmploymentManager | Manages the employment system |
CIEvolution | Building component handling evolution(checking the current stage and replacing the building in case it has changed) |
CIGameSaver | Interface for the class that handles the games saving and loading |
CIGameSettings | |
CIGameSpeed | |
CIGenerationComponent | Building component that generates items |
CIGiverPathfinder | Calculates the best path for getting a needed item |
CIGlobalStorage | Global storage for items used for building costs filled by buildings with ItemStorageMode.Global |
CIGridHeights | 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 |
CIGridLink | 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 |
CIGridLinker | Common interface for objects that handle grid links made for convenience so road and map linking is interchangable |
CIGridOverlay | Displays grid lines overlaying the map |
CIGridPositions | Transforms between grid and world positions |
CIGridRotations | Rotates transforms, 3d implementations might rotate 360° while isometric games may only mirror |
CIHealther | Any object that has health wich should be displayed |
CIHighlightManager | Highlights tiles as valid, invalid or just as info primarily used by building tools |
CIHousing | Building component that houses populations(a hut that provides housing for 20 plebs, a villa that provides housing for 5 snobs) |
CIItemContainer | 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 |
CIItemGiver | Building component that provides others with items |
CIItemOwner | Any component that has items in an IItemContainer |
CIItemReceiver | Building component that needs to be supplied with items by others(eg production buildings that get supplied by storage) |
CIItemRecipient | Building component that receives items passively for example from a SaleWalker walking by |
CIItemsDispenser | Dispenses items to items retrievers (eg map resources like trees that dispense wood, animals that dispense meat, ...) |
CIItemsDispenserManager | Keeps track of all the IItemsDispenser and calculates the dispenser a retriever goes for |
CIKeyed | Object that can be uniquely identified by a string key it can then be retrieved from IKeyedSet<T> by its key |
CIKeyedSet | |
CILayerAffector | Object affecting the layer values, is registered with ILayerManager |
CILayerDependency | 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 |
CILayerManager | 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 |
CILayerModifier | 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 |
CIMainCamera | 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 |
CIMap | Basic map functionality like map size and buildability |
CIMapGridLinker | Manages links between road points |
CIMapGridPathfinder | Pthfinder that uses a A* grid to find a path builds a complete grid of points so only viable for smaller maps |
CIMapPathfinder | Pathfinder that uses the unity navmesh to find a path on the map |
CIMissionManager | |
►CImmigrationWalker | Walks new population into housing |
CImmigrationWalkerData | |
CIMouseInput | Access to the current location of the players pointer |
CINotificationManager | Shows notification texts to players |
CIntEvent | Concrete implementation for serialization, not needed starting unity 2020.1 |
CInventoryVisualizer | Visualizes the quantity of an item in unity UI |
CIObjectPool | |
CIObjectSet | |
CIOverlayManager | Overlays the tilemap with coloured tiles that visualize Layer, Connection or Efficiency values eg desirable areas are green, undesirable areas are red |
CIOverrideHeight | 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 |
CIPathfinder | 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 |
CIPopulationManager | Manages the population and housing system |
CIProductionComponent | Building component that produces items from other items |
CIProgressComponent | Building component that has come kind of progress common interface so different progressors can use the same visualizers |
CIReceiverPathfinder | Calculates the best path for depositing an item(eg items produced in production) |
CIRiskRecipient | Building components that have risks that can be reduced by a RiskWalker or are otherwise executed |
CIRoadGridLinker | Manages links between roads |
CIRoadManager | |
CIRoadPathfinder | Pathfinder that finds a path inside a network of roads(uses A* by default) |
CIRoadPathfinderBlocked | Same as IRoadPathfinder but without points that are blocked points can be blocked using IRoadManager, for example THREE uses the RoadBlockerComponent to do this |
CISaveData | Interface for all kinds of components that contain state that needs saving |
CIScoreModifier | Modifier applied to the result of a score, is registered with IScoresCalculator |
CIScoresCalculator | 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 |
CIServiceRecipient | Building components that have services that can be filled by a RiskWalker |
CIsometricMap | Implementation for various map and grid functions on an isometric grid with 2d sprites |
CIStorageComponent | Building component that stores items, how it does that can be configured in orders |
CIStructure | Interface for anything placed on the map(roads, decorators, buildings, ....) |
CIStructureManager | Tracks all the IStructures on the map used to check and retrieve structures at any point on the map |
CItem | Scriptable object that describes the properties of an item |
CItemCategory | 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 |
CItemCategoryQuantity | Convenience container that combines an ItemCategory with a quantity |
►CItemCategoryRecipient | 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 |
CItemsCategoryRecipientData | |
CItemCategoryRequirement | 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 |
CItemConsumer | Simple container that can check for an item quantity and remove it from a storage eg raw materials in production components |
►CItemEfficiencyComponent | 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 |
CItemsEfficiencyData | |
►CItemLevel | Convenience container that combines an item with a quantity and a capacity can be used to represent how filled something is with an item |
CItemLevelData | |
CItemPanel | Visualizes a specific item and its stored quantity only works in combination with the container ItemsPanel |
CItemProducer | Simple container that can check if an item quantity fits and adds it to a storage eg finished goods in production components |
►CItemQuantity | Convenience container that combines an item with a quantity |
CItemQuantityData | |
►CItemRecipient | Receives a specific item and uses it up over time |
CItemsRecipientData | |
CItemScore | Item quantity in global storage |
CItemSet | 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 |
CItemsGiverAction | Walks to an IItemGiver and gives items to the walker |
CItemsPanel | Container in unity ui that generates ItemPanel for visualizing stored item quantities/> |
CItemsReceiverAction | Walks to an IItemReceiver and lets the receiver get items from the walker |
►CItemsRetrieverComponent | 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) |
CItemsRetrieverData | |
►CItemsRetrieverWalker | 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 |
CItemsRetrieverWalkerData | |
►CItemStack | 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 |
CItemStackData | |
►CItemStorage | 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 |
CItemStorageData | |
CItemStorageHappening | Event that, on activation, adds or removes the specified items add > story based deliveries, discoveries, ... decrease > spoiled food, thieves, .. |
CItemStore | 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 |
CItemStorer | Utility class that adds items to an IItemOwner on the same gameobject when is starts, mostly used for testing |
CItemTaskItem | 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 |
CIToolsManager | Manages the tool activation and tool cost |
CITooltipManager | Manages displaying tooltips in the UI |
CITooltipOwner | Any object that has a tooltip |
CIViewsManager | Manages the active View |
CIWalkerManager | Keeps track of all the active walkers in the game |
CIWalkerValue | Any kind of value a walker might have(items, ...) |
CIWorkerUser | Building component that uses workers, needs to call finish on the worker when done |
CIWorkplaceFinder | Finds the optimal workplace for any given worker and provide it with a path to work and supply if necessary |
CKeyedBehaviour | Behaviour that can be uniquely identified by a string key it can then be retrieved from KeyedSet<T> by its key |
CKeyedObject | Scriptable that can be uniquely identified by a string key it can then be retrieved from KeyedSet<T> by its key |
CKeyedSet | |
CLayer | Layers are arrays of numbers underlying the map points(desirability, fertility, resources) |
CLayerAffector | 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 |
CLayerAffectorTile | Defines a layer value and falloff for a tile on a tilemap is used by DefaultLayerManager to establish the base layer values |
CLayerAffectorVisualizer | Used by LayerKeyVisualizer to display the value for an affector |
CLayerAffectorWorking | 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) |
CLayerAttribute | |
CLayerBuildingBuilder | 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 |
CLayerEfficiencyComponent | 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 |
CLayerKey | 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) |
CLayerKeyVisualizer | 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 |
►CLayerMapHeight | 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 |
CLayerHeight | |
CLayerModifierHappening | Event that, during its activity, globally modifies a layers values might be used for weather or seasons(heat, fertility, ...) |
CLayerPosition | Helper for LayerValues that holds the current value of a point and all the affectors that affect it |
CLayerRequirement | 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 |
CLayerValues | |
CLazyDependency | |
CManualAttackWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CManualCollectionWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CManualDeliveryWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CManualEmigrationWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CManualEmploymentWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CManualHomelessWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CManualImmigrationWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CManualItemsRetrieverWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CManualPurchaseWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CManualRiskWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CManualRoamingWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CManualSaleWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CManualServiceWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CManualStorageWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CManualWalkerSpawner | Walker spawner that does not spawn on its own |
CManualWalkerSpawnerData | |
CManualWanderingWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CManualWorkerWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CMapBase | 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 |
CMaterialSwitcher | Utility components that provides a helper method that lets users switch between two materials |
CMeshHighlightManager | Implementation of IHighlightManager that creates and dynamically adjusts meshes |
CMessageAction | 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 |
CMessageBoxDialog | |
CMessageEvent | 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 |
CMessageHappening | Event that sends messages to a named object, leave messages empty to not send |
CMessageReceiver | Behaviour that can receive and pass simple string messages events allow attaching actions to certain messages in the inspector |
►CMigration | Moves population quantities into and out of the map depending on the current sentiment |
CMigrationData | |
CMinimap | Simple minimap implementation automatically moves a camera to fit the entire map can be clicked and dragged on the set the main camera position |
CMission | Object that defines general information about a level |
CMissionDialog | Dialog for mission stuff just a wrapper for MissionVisualizer |
CMissionParameters | All parameters needed to start a scene additionally to the Mission which contains what to start this defines how it is started |
CMissionSet | 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 |
CMissionTaskItem | 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 |
CMissionVisualizer | Displays mission info in unity ui and provides methods for starting/continuing it |
►CMonumentSiteComponent | 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 |
CMonumentSiteData | |
CMonumentStage | One stage of the building process of a monument |
►CMonumentStep | Single step of building within a MonumentStage |
CMonumentStepData | |
CMoveTool | 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 |
CMultiItemContainer | Item container that combines different ItemStorages used in the EvolutionComponent in which storage is split among the different recipients |
CMultipliedScore | Multiplies another score |
►CMultiRoadManager | 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 |
CNetwork | Helper that combines a road with the tilemap it is visualized on |
CNavMeshPathfinding | |
CNavMeshUpdater | Can be used to update the navmesh at runtime using known components source creation taken from https://github.com/Unity-Technologies/NavMeshComponents |
►CNoPathfinding | Fallback pathfinding that just returns a straight path from start to target |
CNoPathQuery | |
CNotificationPanel | |
CNotificationRequest | Request sent to the INotificationManager to request that a notification gets displayed |
►CObjectGenerator | Utility class that can be used to randomly place some objects used in Three for bushes and pebbles |
CGeneratorObject | |
CTilemapTile | |
CObjectPool | Simple object pooling implementation accessible through the dependency system and used in walker spawners for example |
CObjectRepository | Repository used to define and find the objects available to a scene |
CObjectSet | |
CObjectSetBase | Scriptable object that stores an array of other objects used for things like BuildingInfoSet to store a known collection of buildings |
CObjectTile | Tile that instantiates gameobjects |
COffGridLink | 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, .. |
CParticleHappening | Event that, during its activation, plays particles |
CPathQuery | Query that eventually produces a WalkingPath enables distribution of path calculations across frames |
CPlaytimeVisual | Displays the current playtime in unity ui |
CPointerToolBase | Special base class for tools that use the pointer handles differences between mouse/touch manages mouse down/up for dragging |
CPointsChanged | |
CPointValueEvent | |
CPooledAttackWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CPooledCollectionWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CPooledDeliveryWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CPooledEmigrationWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CPooledEmploymentWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CPooledHomelessWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CPooledImmigrationWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CPooledItemsRetrieverWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CPooledPurchaseWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CPooledRiskWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CPooledRoamingWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CPooledSaleWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CPooledServiceWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CPooledStorageWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CPooledWalkerSeat | Helper class for PooledWalkerSpawner<T> that holds the cooldown for each individual walker |
CPooledWalkerSeatData | |
CPooledWalkerSpawner | Cyclic spawner with individual cooldowns for walkers and a spawner cooldown between walkers |
CPooledWalkerSpawnerData | |
CPooledWanderingWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CPooledWorkerProviderComponent | 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 |
CPooledWorkerProviderData | |
CPooledWorkerWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CPopulation | Type of population(plebs, middle class, snobs, ...) |
CPopulationEmployment | Helper that EmploymentComponent uses to define which populations and employment groups it used and how many |
►CPopulationHousing | 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 |
CPopulationHousingData | |
CPopulationScore | Quantity of a certain population |
CPopulationSet | 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 |
CPopulationVisualizer | Visualizes employment as text in unity ui |
►CProcessState | 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 |
CProcessData | |
►CProductionComponent | 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 |
CProductionData | |
►CProductionWalkerComponent | 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 |
CProductionWalkerData | |
CProgressComponent | Base class for building components implementing IProgressComponent basically any component that progresses over time, does something and resets |
CProgressMultiScaler | 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) |
CProgressScaler | Scales itself according to the attached ProgressComponent |
CProgressThreshold | Helper for ProgressThresholdVisualizer that combines a threshold value with the gameobject that threshold will activate |
CProgressThresholdVisualizer | 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 |
►CPurchaseWalker | Walker that gets items from an IItemGiver to an IDistributionComponent |
CPurchaseWalkerData | |
CReceiveItemsAction | 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) |
►CReloadingItemsDispenser | Items dispenser that reloads its charges over time |
CReloadingData | |
CRisk | 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 |
CRiskBuildingAddon | Risk that when executed adds an addon to its building eg Fire, Disease, .. |
CRiskBuildingReplacement | Risk that when executed replaces its building with something else |
CRiskBuildingTermination | Risk that when executed terminates the building |
CRiskCategory | 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 |
►CRiskerComponent | Building componnent for risks updates risks, executes and resolves them and tries to transfer their values when the building gets replaced |
CRiskerData | |
CRiskModificationHappening | Event that, on activation, modifies the risk values of a set amount of buildings increase > arsonist, disease outbreak, natural disaster(volcano, earthquake) ... decrease > blessings, .. |
►CRiskRecipient | Holds the value for a risk and increases it over time |
CRiskRecipientData | |
CRiskStructureReplacement | Risk that when executed replaces the building with structures(eg Rubble) |
CRiskWalker | Roams around and reduces the risks of IRiskRecipient while it is in range |
►CRiskWalkerComponent | Building component that periodically spawns a RiskWalker |
CRiskWalkerData | |
CRoad | 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) |
►CRoadBlockerComponent | 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 |
CTaggedBlockerData | |
CRoadBlockerPanel | Container in unity ui that generates toggles for visualizing and editing which tags a roadblocker blocks/> |
CRoadBlockerToggle | Behaviour that can turn a tag on a RoadBlockerComponent on or off so that the related walkers can/cannot pass |
CRoadBuilder | Tool for placing roads |
CRoadManagerBase | 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 |
►CRoadManagerBaseMulti | 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 |
CMultiRoadsData | |
►CRoadNetwork | 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 |
CRoadData | |
CRoadsData | |
CRoadRequirement | 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 |
CRoadSet | Some collection of roads, a set of all roads should be set in ObjectRepository |
CRoadStage | 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 |
CRoadSwitcherComponent | 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 |
CRoamAction | Makes the walker roam |
CRoamActionTyped | Makes the walker roam on a specified path type |
►CRoamingState | 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 |
CRoamingData | |
►CRoamingWalker | Walker that semi randomly walks around and then returns home has a memory so it diversifies the route |
CRoamingWalkerData | |
CRotateAction | |
CRuntimeKeyedSet | |
CRuntimeObjectSet | |
►CSaleWalker | Roams around and takes note of what items the IItemRecipient it encounters need and supplies them if it carries the item |
CSaleWalkerData | |
CSaveVisualizer | |
CSaveVisualizerItem | |
CScore | 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 |
CScoreEfficiencyComponent | Derives its building efficiency from a score |
CScoreModifierHappening | 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 |
CScorePanel | Visualizes a score |
CScoreSet | Some collection of scores a set of all scores in the game is needed by ObjectRepository so the IScoresCalculator can calculate them |
CScoreTaskItem | Task that completes when a score reaches a certain value |
CScoreVisualizer | Visualizes a score in unity ui |
CScriptableHelper | |
CSelectionDialog | Dialog that displays information about the selected building |
CSelectionSwitcher | Ui behaviour that allows cycling through selected buildings or walkers of the same type |
CSelectionTool | Selects walkers and buildings under the mouse on click |
CService | Services are special building values that are filled by walkers and decrease over time |
CServiceCategory | 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 |
►CServiceCategoryRecipient | 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 |
CServiceCategoryRecipientData | |
CServiceCategoryRequirement | 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 |
►CServiceEfficiencyComponent | Component that influences the building efficiency base on its access to services |
CServiceEfficiencyData | |
CServiceModificationHappening | Event that, on activation, modifies the service values of a set amount of buildings increase > blessings, self sufficiency ... decrease > water leak, thief, .. |
►CServiceRecipient | Holds the value for a service and decreases it over time |
CServiceRecipientData | |
CServiceWalker | Roams around and fills the services of IServiceRecipient while it is in range |
►CServiceWalkerComponent | Building component that periodically spawns a ServiceWalker |
CRiskWalkerData | |
CSingleItemsDispenser | Items dispenser that dispenses once and then self destructs |
CSplitItemContainer | 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 |
CSpriteColorRandomizer | Sets a random color for some sprite renderers, can be used to set some random color for a little visual variation |
CSpriteHighlightManager | Implementation of IHighlightManager that instantiates sprites |
CSpriteRandomizerComponent | 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 |
►CStateManager | |
CStateEntry | |
CStateOverride | |
CTransitionEntry | |
►CStorageComponent | Building component that stores items |
CStorageData | |
►CStorageOrder | |
CStorageOrderData | |
CStorageOrderPanel | Unity ui panel for visualizing and editing a StorageOrder only works in combination with the container StorageOrdersPanel |
CStorageOrdersPanel | Container in unity ui that generates StorageOrderPanel for visualizing and editing StorageOrder |
CStorageQuantityVisual | Visualizes item quantity by setting gameObjects activity |
CStorageQuantityVisualizer | Generates visuals for the items stored in a stacked IStorageComponent the visuals defined in Item are used |
CStorageVolumeVisualizer | Scales and colours meshes for the items stored in a stacked IStorageComponent uses the material defined in Item.Material |
►CStorageWalker | Walker for storage functions: Supplies IItemReceiver | Gets items from IItemGiver | empties items into IItemReceiver |
CStorageWalkerData | |
►CStorageWalkerComponent | 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 |
CStorageWalkerData | |
CStructureBuilder | Tool for adding points to a StructureCollection or StructureTiles |
►CStructureCollection | Structure made up of a collection of identical gameobjects if the members of the collection are ISaveData that data will also be stored |
CStructureCollectionData | |
►CStructureDecorators | 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 |
CStructureDecoratorData | |
CStructureDecoratorsData | |
CStructureLevelManager | Helper used by DefaultStructureManager to store the structure references for one structure level |
CStructureLevelMask | 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 |
CStructurePathManager | 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 |
CStructurePathOption | |
CStructurePaths | Manages the different variants of mag grid pathing for DefaultStructureManager there is only one variant if there are no special StructurePathOptions defined |
CStructurePointEnabler | Enables a gameobject depending on whether it has all the defined points |
CStructureReference | 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 |
CStructureRoadBlocker | 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 |
CStructureRoadRegisterer | 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 |
CStructureRoadSwitcher | Registers road switches at every point of the structure demonstrated in the SwitchRoadDebugging test scene |
CStructureTerrainDetails | 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 |
CStructureTerrainTrees | Structure that adds and removes terrain trees using a TerrainModifier |
►CStructureTiles | Structure made up of a collection of tiles on a tilemap |
CStructureTilesData | |
CStructureTilesRefresher | 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 |
CSummedBuildingScore | Sums the values for different buildings for example monument scores are added together |
CSummedScore | Sums other scores together |
CTakeItemsAction | 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 |
CTaskItem | Base class for tasks within TaskList/TaskStage |
►CTaskList | 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 |
CTaskListData | |
CTaskStage | Stage within a TaskList that consists of several TaskItems |
►CTerrainMap | 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 |
CTaggedLimit | |
►CTerrainModifier | Used to modify and persist terrain data |
CTerrainModifierData | |
CTerrainModifierTree | |
CTerrainRenderSimplifier | Hides trees and details from a terrain for the camera it sits on used for the minimap in the town demo |
CTerrainRoadManager | 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 |
CTerrainRoadNetwork | 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 |
►CThresholdScore | Transform a score by defining thresholds for example the HAPEmploymentScore in THREE defines that employment under 50% causes a loss of 8 happiness |
CThresholdItem | |
CTilemapRoadNetwork | 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 |
►CTilemapSpawner | 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 |
CStructureSpawnerData | |
CStructureSpawnerInstanceData | |
CTimedReplacementComponent | Building component that replaces the building after a defined time has passed |
CTimingAnimationLoop | Behaviour that constantly sets an animator to the current progress of a timing unit check out the Lights in THREE for an example |
CTimingCondition | 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 |
CTimingHappening | Base class for timed events |
CTimingHappeningOccurence | 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 |
CTimingHappeningState | Helper class that keeps track of the state of happenings and correctly calls their lifetime methods |
CTimingHappeningStateEvent | Concrete implementation for serialization, not needed starting unity 2020.1 |
CTimingUnit | Describes some unit of time in the game that can be used to display playtime or specify when happenings should occur |
CToolEvent | Concrete implementation for serialization, not needed starting unity 2020.1 |
CToolsActivator | Helper for activating a tool from a UnityEngine.UI.Toggle |
CToolsGroup | 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 |
CToolsGroupContent | Only exists because OnPointerExit behaviour has changed in Unity 2021 can be removed in earlier versions |
CToolsManager | Simple IToolsManager implementation that should suffice for most cases |
CTooltipArea | Can be put on any raycast UI objects to display a manually set tooltip |
CTooltipOwnerBase | Base class for ui behaviours that display tooltips |
CTooltipPanel | Displays a tooltip in the UI manages its position and display of name and description |
CTownJob | Some tasks can only be done by walkers with a specific job for example building a house or farming |
CTownJobSet | Some collection of jobs a set of all jobs in the game is needed by TownManager |
CTransformRoadBlocker | Blocker that simply blocks its own position in the IRoadManager blocking prevents a Walker with PathType.RoadBlocked from using a point |
CTriggerHeightOverride | 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 |
CUnityAnimatorEvent | Proxy for setting animator values from unityevents |
CUnityAnimatorEvents | Proxy for setting animator values from unityevents |
CUnityAnimatorEventVector | Proxy for setting animator values from unityevents |
CUnityKeyEvent | Fires unity events when a key is pressed or released |
►CVariantProductionComponent | 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 |
CVariant | |
CVariantProductionData | |
►CVariantProductionWalkerComponent | 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 |
CVariantProductionWalkerData | |
CVector2Event | Concrete implementation for serialization, not needed starting unity 2020.1 |
CVector2IntEvent | Concrete implementation for serialization, not needed starting unity 2020.1 |
CVector3Event | Concrete implementation for serialization, not needed starting unity 2020.1 |
CView | 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, .. |
CViewActivator | Helper for activating a view from a UnityEngine.UI.Toggle |
CViewBuildingBar | Base class for views that visualize a IBuildingValue with a bar |
CViewBuildingBarBase | Non generic base class so ViewBuildingBar<T> can be accessed in IBarManager |
CViewBuildingHealthBar | |
CViewBuildingItemBar | |
CViewBuildingItemCategoryBar | |
CViewBuildingItemsBar | |
CViewBuildingLayerBar | |
CViewBuildingRiskBar | |
CViewBuildingServiceBar | |
CViewBuildingServiceCategoryBar | |
CViewComposite | View that transfers activation to its children |
CViewConnection | View that displays an overlay for a layer on a tilemap |
CViewCulling | View that changes camera culling eg hiding irrelevant buildings |
CViewEfficiency | View that displays an overlay for efficiency on a tilemap |
CViewLayer | View that displays an overlay for a layer on a tilemap |
CViewWalkerBar | Base class for views that visualize a IWalkerValue with a bar |
CViewWalkerBarBase | Non generic base class so ViewWalkerBar<T> can be accessed in IBarManager |
CViewWalkerHealthBar | |
CViewWalkerItemBar | |
CViewWalkerItemCategoryBar | |
CViewWalkerItemsBar | |
CViewWalkerRiskBar | |
CViewWalkerRiskCategoryBar | |
CViewWalkerServiceBar | |
CViewWalkerServiceCategoryBar | |
CWaitAction | Action that simply waits for a set time |
CWaitAnimatedAction | Action that simply waits for a set time and plays an animation |
►CWaitingState | Helper class for Walker that hold the current status when it is just waiting for a set time |
CWaitingData | |
CWalkBuildingAction | Attempts to walk to a building |
►CWalker | 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) |
CWalkerAddonMetaData | |
CWalkerData | |
CWalkerAction | 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 |
CWalkerAddon | Temporary objects that are added(Walker.AddAddon<T>(T)) and removed(Walker.RemoveAddon(WalkerAddon)) at runtime can be used for effects, statuses, animations, .. |
CWalkerAddonEffect | Blank walker addon that can be used to attach particle effects for example |
CWalkerAddonHappening | Event that, on activation, modifies the risk values of a set amount of buildings increase > arsonist, disease outbreak, natural disaster(volcano, earthquake) ... decrease > blessings, .. |
CWalkerAddonMaterial | Changes materials of renderers on the walker while active for example for outline or highlight materials |
CWalkerAddonSet | 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 |
CWalkerAreaMask | 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 |
►CWalkerComponent | Building component that periodically spawns a RoamingWalker |
CRiskWalkerData | |
CWalkerEvent | Concrete implementation for serialization, not needed starting unity 2020.1 |
CWalkerInfo | 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 |
CWalkerInfoSet | 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 |
CWalkerItemsBar | Visualizes item quantities by stacking its icon |
CWalkerRectBar | 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 |
CWalkerRisksBar | Highlights risk walkers by displaying the risk icon above them |
CWalkerServicesBar | Highlights service walkers by displaying the service icon above them |
CWalkerSpawner | Base class for spawning and keeping track of walkers |
CWalkerStorageVisualizer | 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 |
CWalkerValueBar | Base class for in game visuals of walker values |
CWalkerValueBars | Helper for DefaultBuildingManager that manages building bars |
►CWalkingAgentState | Helper class for Walker that hold the current status when the walker is using a navmesh agent to reach a target |
CWalkingAgentData | |
►CWalkingPath | Collection of map points or world positions that can be followed by a walker |
CWalkingPathData | |
►CWalkingState | Helper class for Walker that hold the current status when the walker is following a WalkingPath |
CWalkingData | |
CWalkPathAction | Makes the walker walk a set path |
CWalkPointAction | Attempts to walk to a point |
CWalkPointActionTyped | Attempts to walk to a point |
►CWanderer | 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 |
CWandererData | |
►CWanderingWalker | Walker that randomly wanders in any direction one unit at a time for a set number of steps |
CWanderingWalkerData | |
CWinCondition | |
CWorker | Type of worker(mason, carpenter, laborer) |
►CWorkerPath | Reference and path to a workers workplace may include a path to an itemGiver to get supplies needed for the work |
CWorkerPathData | |
CWorkerPathQuery | Query that eventually produces a WorkerPath enables distribution of calculations across frames |
CWorkerScore | Worker percentage for a certain population available/needed >> 20xvillager/10xfarmers=200% |
CWorkersPanel | |
CWorkerUserComponent | Building component using workers for a set duration to influence building efficiency(to drive production, layervalues, ...) |
►CWorkerWalker | Walks from worker provider to worker user, picks up needed items first if required by the user |
CWorkerWalkerData | |
►NCityBuilderDefense | |
CDefenseManager | 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 |
CDefenseStage | |
►NCityBuilderManual | |
►NCustom | |
►CCustomBuildingComponent | |
CCustomComponentData | |
►CCustomBuildingTrait | |
CCustomTraitData | |
►CCustomDestinationWalker | Walks along a passed path and then signals its target |
CCustomDestinationWalkerData | |
CCustomManager | |
►CCustomRoamingWalker | Roams around and counts and signals any ICustomBuildingComponents it passes |
CCustomRoamingWalkerData | |
CCustomScore | |
CCyclicCustomDestinationWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCyclicCustomRoamingWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CICustomBuildingComponent | |
CICustomBuildingTrait | |
CICustomManager | |
CManualCustomDestinationWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CManualCustomRoamingWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CPooledCustomDestinationWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CPooledCustomRoamingWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►NCityBuilderThree | |
CThreeManager | 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 |
►NCityBuilderTown | |
►CItemConstructionComponent | 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 |
CItemConstructionData | |
CManualTownWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CTownBuildingDialog | Visualizes the state of a town building in the UI |
►CTownBuildTask | Task that makes walkers go to it and progress it while playing the work animation used by the TownConstructionComponent |
CTownBuildTaskData | |
CTownClearTask | 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 |
►CTownConstructionComponent | 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 |
CTownConstructionData | |
CTownDeliverTask | 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 |
CTownDemolishTask | 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 |
CTownDemolishTool | Tool that removes tasks and places demlish tasks for structures |
CTownDifficulty | Inherited version of Difficulty with additional fields specific to the Town demo |
►CTownDistributionTask | 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 |
CTownBuildTaskData | |
►CTownFarmingComponent | Building component that creates and manages a TownFieldTask for every point of its building actual farming mechanics are performed in those tasks |
CTownFarmingData | |
►CTownFieldTask | 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 |
CTownFieldData | |
►CTownForestingComponent | 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 |
CTownForestingData | |
►CTownGatheringComponent | 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 |
CTownFarmingData | |
CTownGatherTask | 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 |
►CTownHarvestTask | 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 |
CTownHarvestTaskData | |
CTownHarvestTool | Tool that places TownHarvestTask at points that have structures that match a harvest tasks PrimaryStructureKey harvest tasks have to be known to TownManager |
►CTownHomeComponent | 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 |
CTomeHomeData | |
CTownIdentity | Holds the "personality" of a TownWalker, randomly generated when a walker spawns |
CTownItemTask | 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 |
CTownJobInput | Ui behaviour that lets players set number of walkers for the specified job |
CTownLimitInput | Lets players set limits for certain items for example wood has to be limited because there might be no logs left for construction otherwise |
►CTownManager | Central manager for the town demo manages tasks, jobs, walkers, seasons |
CTownManagerData | |
►CTownMarketComponent | Component that has food and wood delivered to it and distributes them to any recipients connected by road |
CTownMarketData | |
CTownMenu | Visualy fades between the different menu panels and provides logic for exiting and quitting the game |
CTownMenuContinue | Used to continue the last saved game, disabled itself if there is no game to continue |
CTownMenuLoad | Displays the created save games per mission and difficulty save games can be selected and then loaded or deleted |
CTownMenuNew | Manages the options for new games and also starts a new game and passes the options into the mission parameters |
CTownMenuSave | 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 |
CTownPathTask | Task that makes a walker go to its point and spand a little time working after that a road is added at that point |
CTownPathTool | Tool that places TownPathTask at available points |
CTownPlantTask | 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 |
►CTownProductionComponent | 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 |
CTownProductionData | |
CTownProgressAction | 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 |
CTownProvisionAction | 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 |
CTownRecoveryAction | 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 |
CTownSaveGame | 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 |
CTownSelectionSwitcher | Variant of the SelectionSwitcher that also cycles walkers by the job they have in the town demo |
CTownSetup | 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 |
CTownSignalAction | 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 |
CTownStartupTool | 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 |
CTownTask | 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 |
CTownTaskData | Class used when persisting tasks tasks that have state of their own can override TownTask.saveExtras and TownTask.loadExtras(string) |
CTownTaskSet | 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 |
CTownViewWalkerEnergyBar | View that visualizes a walkers current energy in percent |
CTownViewWalkerFoodBar | View that visualizes a walkers current food in percent |
CTownViewWalkerWarmthBar | View that visualizes a walkers current warmth in percent |
►CTownWalker | 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 |
CWorkerWalkerData | |
CTownWalkerActionBar | Visualizes what the walker is currently doing using an icon tasks are visualized using TownTask.Icon, other processes use icons found in TownManager |
CTownWalkerDialog | Visualizes the state of a town walker in the UI |
CTownWalkerInfoBar | Visualizes a walkers job and name |
CTownWorkAction | 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) |
►CTownWorkComponent | 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 |
CTownWorkData | |
CTownWorkTask | 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 |
CViewBuildingBarGeneric | View used for bars that take care of retrieving values on their own instead of using an IBuildingValue |
CViewWalkerBarGeneric | View used for bars that take care of retrieving values on their own instead of using an IWalkerValue |
►NCityBuilderUrban | |
CCyclicPickupWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCyclicTrainWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CCyclicVanWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
►CHouseComponent | 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 |
CRailwayData | |
CManualTornadoWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CManualTruckWalkerSpawner | Concrete implementation for serialization, not needed starting unity 2020.1 |
CMoneyVisual | Gets spawned in when money is earned or spent the prefab also contains an animator which calls Done |
►CPickupWalker | Can be spawned from a house to drive directly to a shop, purchase and then drive back |
CPickupWalkerData | |
CPowerTile | Tile for the power lines in the urban demo shows different sprites for 0 / \ X |
►CRailwayComponent | Spawns trains cyclically, whenever the train arrives it spawns trucks that supply shops |
CRailwayData | |
►CShopComponent | Holds items which are reduced when a van or pickup purchases them and filled up by trucks |
CShopData | |
CTornadoWalker | Walks across the map along the y axis and destroys any structure it passes over |
►CTrainWalker | Drives to the trains station, signals the station to spawn trucks and then drives to the exit |
CTrainWalkerData | |
CTruckWalker | Randomly roams around and supplies and shop it encounters |
►CUrbanManager | Manages all the custom global logic in the urban demo |
CRunningCost | |
CVanWalker | Can be spawned from a house to drive around randomly and purchase from any shops it encounters |