* Added Ped AI with debug info
* Improved ped AI + auto spawn for each players
* Disabling Ped Spawner script for clients
* Added flee script for peds and reworked peds AI
* Optimized Ped spawning script
* Removed unused ped command
* Convert class to struct in NodeFile.cs
* Revert style on Ped_Spawning
* Fixed respawning ped issue on multiplayer
* Improved ped's AI and spawns
* Added FindYCoordWithXZ method
* Fixed peds spawn point on bridges + added Ped tag
* Removed Ped tag to improve performances
* Fixed ped trying to spawn when player is in interior
* wip
* much faster world creation
* add StaticGeometryInspector
* disable child/parent logic and fading
* rename
* (de)activate objects based on parent
* set draw distance based on layers
* ...
* wip
* wip
* wip
* remove unused param
* prevent concurrent modification
* ...
* catch exceptions when notifying
* ...
* notify about area, not objects
* limit public access to Area
* ...
* ...
* allow public access
* add public api
* adapt code
* pass callback to ctor
* adapt focus points
* fix
* fix intersection check
* support rectangles
* adjust parameters in prefab
* this should fix IsInsideOf()
* ...
* ...
* fix getting area by index
* create area if not exists
* ...
* ...
* ...
* wip for distance levels
* remove constraint on generic parameter
* add some validation
* fix
* fix draw distance per level
* change time of day in which lights are visible
* add todos
* don't use id for UnRegisterFocusPoint()
* use hash set for storing focus points
* add 1 more level
* mark area for update only if visibility changes
* profile WorldSystem calls
* add some profiling sections
* limit time per frame for LoadingThread
* switch custom concurrent queue
* copy jobs to buffer
* rename
* change max draw distance setting
* wait one more frame
* try to remove 801 distance level to remove holes
* attempt to hide interiors, but failed
* delete no longer needed script
* optimization
* some error checking
* add camera as focus point
* dont add camera as focus point in headless mode
* working on load priority
* fix bug - load priority finished
* ...
* small optimizations
* ...
* ...
* remove unneeded variable
* add fading
* dont do fading in headless mode
* fadeRate available in inspector
* change fade rate
* take into account if geometry is loaded when checking if object should be visible, and if fading should be done
* small optimization
* cache IsInHeadlessMode
* display Instance info in inspector
* move interiors up in the sky
* rename
* adapt code to different y pos of interiors
* refactor
* fix finding matched enex for enexes that lead to the same interior level
* display new world stats
* rename
* rename class
* ...
* ...
* extract function
* extract parameters into a struct
* add focus point to dead body
* add focus point to vehicle
* add focus point to vehicle detached parts
* remove OutOfRangeDestroyer from vehicle, and destroy vehicle if it falls below the map
* dont use focus points on vehicle and vehicle detached parts, when not on server
* add focus point for npc peds
* add possibility to set timeout during which focus point keeps revealing after it's destroyed
* adapt UnRegisterFocusPoint() to timeout
* rename
* adapt code
* cleanup MapObject class
* ...
* converting to `lock()`
* optimize method: use 1 lock instead of 3
* call OnObjectFinishedLoading() instead of AddToLoadedObjects()
* ...
* make sure it's main thread
* AsyncLoader is no longer thread safe
* convert static members to non-static in LoadingThread
* fix
* ...
* store indexes for each area
* impl GetAreaCenter()
* calculate load priority based on distance to area, not objects ; limit time per frame ; sort area in Cell, not in concurrent SortedSet ;
* add support for changing draw distance at runtime
* delay setting the new value by 0.2 s
* have a separate default max draw distance for mobile platforms
* adjust y axis world params so that number of visible areas is reduced
* remove "camera far clip plane" setting
* rename
* document flags
* rename
* disable shadow casting and receiving for some objects
* allow casting shadows for LODs with large draw distance
* remove "WorldSystem" layer
* revert layer
- vehicle states are activated on clients at the end of frame, because at the moment of ped creation, vehicle may not be created yet
- ped doesn't switch to stand state in Start(), on clients
- state is now synced using string, not struct, because struct failed to sync after first modification