19,298 Commits over 1,614 Days - 0.50cph!
Biome editor material library improvements.
Enabled TOD Scattering on player camera prefab again (whoops)
FoliageTools updates, now resides under Tools menu > Process SPM Assets. Takes all SPM assets, consolidates materials, creates prefabs with NavMeshObstacle components using ST exported CollisionObject0 collider size, copies materials (with sensible names, using the Before/SpeedTree shaders, assinging TintMask textures if they exist) to Resources/Materials/Foliage for runtime tinting.
Moving all foliage assets around a bit, and renaming to match new conventions (type_family_variant_state_N)
Foliage tools scripts manual merge
Moving lots of foliage source files ;x
Cleaned up SpeciesSettings.Create method
Biome tweaks, moved some material library methods out into BeforeEditor
More data type name consistency changes (GrassPopulation/DecorPopulation)
Added Grass and Decor tabs to BeforeEditor
Moved Scripts/Graphics/Terrain to Scripts/World
Renamed SpawnPopulation -> SpawnPopulationSettings
Fixed some issues with ResourceView not updating skin visibility properly
Remade pine view prefabs
Added ferns decor asset
Store layer name in EntiySettings derived assets and set in EntityView.Setup base method
Set EntityComponent IsActive on init
Wrap de/activation of ECs in conveniece methods for readability
Consistency checks across all Entity derived types and their init routines (Unit remains an exception due to some older view creation code)
EntiyView and derived classes cleanup
Removed unused ownerGroup and ownerController from Building
BiomeMaterialObject now added to EntityView instead of Entity
Removed missing component from Player prefab
Transform layers set in BuildingView and ItemView and ResourceView
Moved Resource scripts out of /Entity
Cavemen now gather sticks and deposit them to an unfinished campfire autonomously.
SmartObject Subscribable fix (return true if any interactions enabled and subscription count < max sub count)
Currently all interactions of a Smart Object must be enabled for an SO to pass as Subscribable... picking up sticks now works.
Before Debug will now only show decisions that score higher than 0.
Item no longer override the SO Trigger layer.
Work in progress on getting units to consider picking up items (sticks in particular) when campfire is placed.
Disabled Harvest DSE for DM while working on item pickup.
Fixed bug where placed buildings wouldn't be perceived as Smart Objects by Unit+Senses.
Cleaned up some more Considerations.
Added a IsInLayerMask extension to the TransformUtil.
Modified the SetLayer in TransformUtil to take a bool on whether to propagate mask to children.
Cleaned up some inconsistencies between using SetLayer and gameObject.layer.
Cleaned up project to use IsInLayerMask over gameObject.layer ==.
Reverted terrain shader stuff for now to digest which version is superior
Added LODGroup to some item views and tweaked foliage LODS... to basically no effect!
Imported some LUTs
Clearing up some RadialMenu whackness
Fixed Resource not creating harvest interactions properly
SmartObjec initalization happens earlier in Entity creation now, may or may not cause issues (can't remember why it was done at the end)
Cleaned up EntitySettings Create methods and overrides in species/item/building and resource
Resource is now an Entity rather that EntityComponent
Fixed some bugs with view handling in BeforeEditor
Fixed reorderable lists removing the wrong item in some cases
Minor cleanup of SmartObjectSettings (made fields public)
Some fixes to DSE + Considerations.
Numerous editor tweaks and cleanup mostly around Consumables and Considerations
Removed several partials from PlayerController, replaced with new generic handling of Entity interactions
Some Consideration cleanup.
Fixed issue with entities not being destroyed when they dont have a smartobject component
Moved BuildingSkin out to it's own file, added skeleton for BuildingState
Added MachineProcessEffect monobehaviour to track and manage effects created by Machines
MachineProcess can now take additional input entities whilst running (to be made optional, but it works for fuel processing)
FuelToEffect MachineProcess increases the duration of the process as more input is added (should also scale the size of its VicinityEffect)
Cleaned up FX_Fire prefab a bit
Basic effects stuff in MachineProcess
More work on Machines. Added MachineProcessSettings, IMachineProcess and FuelToEffect process type. FuelToEffect takes and produces new VicinityEffect entities.
Added IEntityContainer interface to simplify dealing with Entities that can have other Entities deposited or otherwise contained in them
Started work on Group+Knowledge and Tribe+Knowledge.
Cached a lot of the common Consideration lookups at the Group level.
Optimized Value of Harvest Consideration.
Fixed issues with SpeciesSettings.GetViewPrefab
Maybe forgot to save a thing
Tribe/TribeHub refactoring. TribeHub (what shitty name) gets created during Tribe.Initialize(), remains inactive until it is assosciated with a Building. This is done through PlayerController's building placement code at the moment. Buildings can be flagged as "CanAccessTribeHub" in their settings.
More performance tweaks in DM, specifically ValueOfHarvestConsideration caching of smartobjects that have a Building component
Moved ConsumableEffect class out of ConsumableSettings and ported handling of them to Agent
Only SmartObjects with one or more free subscribtions are processed by DecisionMaker
Some minor performance optimisation in Building requirement related methods
Started on a Value of Harvest consideration, and created a new DSE "Harvest Score".
Removed UnityEditor directive in EntityComponent
Misc DM related stuff. Nothing actually working just yet.