6,993 Commits over 2,771 Days - 0.11cph!
NRE fix in mission validation
Make entity spawning for missions optionally lazy/deferred
Mission objectives can now list entity identifiers they depend on to make them spawn when started
Fix MissionEntity component not being restored + set up when loading a save
Add validation to check for duplicated position/entity identifiers, and for missing entity identifiers (which are now required)
Add some validation logic into the BaseMission editor to highlight possible issues with the configurations
Lazy evaluation for mission point generators
Fix blocked points not restoring when loading from a save
Allow choosing what a PositionGenerator is relative to (player/provider/other position)
Add a property drawer for PositionGenerator to hide fields which arent relevant for the given settings
Update mission dependencies to specify them with a reference to the BaseMission SO instead of copy pasting its short name
Custom editor for BaseMission to keep things more organized
Preview area of the inspector shows a formatted overview of the mission so you don't need to expand different fields to figure out what it's about
Make MissionObjective SO abstract so the Create button shows a menu for the type of objective to create
Update MissionObjective_KillEntity to use BaseEntityRef instead of manually entered entity ID numbers
Missed change to ResourceRef (should've been with cs78563)
Add a fork of ExtendedScriptableObjectDrawer so we can show/edit referenced ScriptableObjects inline in the editor
Changes allow creating new SO instances embedded into the parent SO instead of as a separate asset
Enabled that on MissionObjectives and WorldPositionGenerator SOs
Add BaseEntityRef which works like GameObjectRef but to refer to BaseEntity specifically
The object picker in the editor will automatically filter to BaseEntity prefabs too
Rename the convar to skip asset warmup because it causes crashes and shouldn't be used
Merge from load_cancel_fix
▆▋▆█ ▄▆▌ ▇▌▋▊▄ █▄ ▄▅▉█ ▍▋▄▉▋ ▄▌▍▇ █▋▇ ▊▊▌▄▅▍▄▆█▅▄ █▋▇█▄ ▋█▍▇▍▍█ ▇▉ ▋▍▅ ▊▅▌▇ ▉▉▄▍▅▇▍▅▅▇▄
Enable fog when RC controlling an autoturret to show their range
Scale up the autoturret's laser dot while RC controlling so it can be used as a crosshair
Refactor a bit so multiple people can connect to RC entities at the same time
Only one player will receive control over RC entities which can be controlled though
Computer station UI will show if you are in 'viewing only' mode when someone else has control
Fix compile errors in different build modes
Remove IRemoteControllable.Occupied
Pass the playerID to IRemoteControllable.StopControl so entities can know who stopped accessing it
Make sure the CCTV resyncs its angles on the client to match the server in case they somehow desync
Client predicted pan/tilt for CCTV cameras from computer station
Calculate and use delta time between server ticks for autoturret lerping (because it uses invokes instead of update)
Add RealTimeSinceEx for similar functionality with extended precision
Remove external viewer flag logic from CCTV (unused)
Only allow changing an autoturret's RC identifier if the other settings can be changed too
Clamp aim direction when controlling an autoturret
Add client predicted aiming for RC controlled autoturret
Set up RC logic on autoturret
Make use of IRemoteControllable.Occupied to only allow one player to control drones/autoturrets at a time
Refactor computer station so bookmarks only remember the camera identifiers (no more entity IDs)
Fixes drone bookmarks not working after picking up and redeploying it
IRemoteControllable changes to use playerID instead of BasePlayer instances
Implement CanControl on Drone so only one player can control it at a time
Only allow picking up when not flying
Pick up will save the RC ID in the item, deploy will restore it
Spin the propellers when flying
Cherry pick
76944 - fix drone pitch not changing eye transform on server
Bump to version v0.0.12
Enable strict null checks and fix issues
defineModel can now take the model class as an argument - this is preferred because it will set the context's displayName to align with the model
useModel will now throw an error if there was no provider for the model
watchModel will handle null/undefined values now
Updates for API changes
Switch to error screen if the session closes
Change back to text responses for questions
JuiceboxSession changes:
* Will now automatically reconnect to the websocket
* New IsConnected property exposes the websocket status so it could be shown on the UI
* IsOpen now tracks if the session is open, with a new event to see if the session is closed for any reason
* Probably fix finalizer never running
Model update for customizing submit button text
Allow customizing the submit button's text
Fixes after pain days
Update to use new models
Mostly support drawn responses
Update to new models
Refactoring components
Model schema improvements
Update backend endpoint
Add models for requesting paintings from the web UI
Replace react-canvas-draw with react-sketch-canvas
Implement drawing form control
Switch to yarn
Add juicebox client stuff
Some stuff I forgot to commit
Pass ProjectId when joining session
▍▉▆ ██▇ ▌▉ ▆▆█▅▉▍▅ ▊▇▊▋▄ ▌▇▄▋▍
▍▆▄█▋▋▋▊, ▄▍▌ ▉█▇▊▊█▋▊ ▅▅▍▅▇▍▅ ▆▊█▇▉▉▉
▉█▅▋▄ █▉ ▋█▉ ▍▆▅▍▇▅▇▇▉▇ ▊▋▄▄▊▉▉
█▄▆▊▇ ▇▍▌▌█▍▇ ▆▅▇▊█▆▅▌▆/▍▉▅▍▄▅▍ ▋█ ▅▄▉▍▄▊▆▌▊ ▌▅ ▄▉▊█▍▇▆ ▆▄▊ ▌▉▋ ▇▉█▅▊▇▅▄ ▄█ ▆▌▌▇▄▊█▉▉ ▆▊▆█▌ ▊▄▊ ▍▋▊▌
▇▉▋ ▊▉ ▅▅▅▆▋▅ ▍▄ █▊▅▍▆▉▊▄▆▆▄▄▅ ▊█▊▊▆▆ ▇▊▌▇▅ ▋▉▉▆█ ▇▉▉▆▇█▄▍/▋▋▆▄▋▅▆
▊▉▇▉▊ ▉▉█▌▉█ '▉▇▍▆▋▄▇▉-▌▋▉▋▌▅█▋▍▉'