28 Commits over 62 Days - 0.02cph!
Add a warning for when ticks miss their deadline and run without budgeting
AOT serialization and other changes for IL2CPP
Specialized fog of war for full circles so it's not as slow
Zero allocation fog of war
Fix some things that blocked loading savegames
Moved the campfire light source down a bit so it stays under the spit
Make sure FoW map is set when initializing drawer
Make PooledList<T> use FP.System's pooling so it wont allocate as much
Removed a smaller allocation PooledList was doing that isn't relevant anymore
Experiment with ticking AI modules at different rates
Increased tick rate, decreased frequency of some modules
Tick agent ECS every frame with no budget
Tick some more AI modules a bit slower
Remove Knowledge.SortEntityData
Fix sometimes not finding the item to remove in the known entity list
Fix PooledList race condition and a duplicate key exception when telling a unit to build
Bring some changes over from tick_freq
Add some checks back that we probably need
Never skip active module scoring so units don't randomly switch tasks
Cache savegame metadata so it doesn't reload more than it needs to
Getting rid of some allocations:
- StatManipulators were never being returned to the pool
- BuildingView always allocating for a closure that isn't used 99% of the time
- Add StringBuffer as an alternative to StringBuilder that doesn't shrink
StatManipulator pooling fixes
Allow StringBuffer to replace with null
Make sure StringBuffer grows to at least the required length
Make sure ECS ticks run according to the set tick rate, slowing down the game if required
Fix context menu actions getting duplicated sometimes