17,530 Commits over 1,614 Days - 0.45cph!
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.
Refactoring EntityComponentSettings storage in EntitySettings
Added new UI for EntityComponent management in BeforeEditor
Removed BiomeMaterialObject components from tree prefabs
Misc editor cleanup
Split BeforeEditorTab into a partial for easier working with ViewManagement code
Fixed bug with ViewMangement for Species/Entities with preset views
Moved Creation of SpawnPopulations out of Zone+Ecology and into BiomeSettings
Spawn handlers created in Zone+Ecology no longer tick/respawn
Removed old UnitManager_OnMinute method
Fixed so that decisions that score 0 or less will always be rejected by DM.
Species Consideration now defines a Default Weight that's returned if a Species is not defined in the Species Weight list. Defaults to 0, but can be "inverted" to 1, say, for special cases.
Added Species Consideration and a Human Only example of it.
UnitManager call TickUnits via TOD_Time.OnMinute
Tweaking Unit+Senses raycasts a bit (better masking and layer checks on hit objects)
Raycasts can hit triggers now
Item now creates a child collider "SO Collider" acting as a Trigger on the SmartObjects layer
removed trees from island003, painted some forest topology map areas
Added rocks/bank01 mesh
Added some layer culling code for testing
Tweaks
Species ecology/topology spawn settings tweaks and island001 toplogy updates
SpawnHandler tweaks. Player tribe should always get spawned now.
Units will automatically move themselves to a nearby valid navmesh position on init
Fixed things not spawning in smartobject_test and other small terrain scenes
Added ForceDensity bool to SpawnPopulation
TerrainWeatherObject finds parent zone more reliably
Scenes assets (baked maps etc)
-unbroken building. Also new dlls for vs cause vs/unity does that.
-crazy maths for arrow trajectory. Arrows do fly nicely to their target at any height tho.