13,129 Commits over 2,800 Days - 0.20cph!
Prevent "Look rotation viewing vector is zero" complaint from Unity
Another OnValidate switch to PreProcess
Merge coroutine/invoke changes branch
Use dictionary method instead of storing the action in the module
VehicleLiftObstuctionSensor removed. Use a basic TriggerBase instead.
Free the old magnet occupant properly
Update magnet snap to use a similar system to VehicleLiftOccupantTrigger
Fix another null check problem
Rewrote occupant trigger to use a more logical TriggerBase system. Adjusted layers on obstruction sensor. Protocol++.
Code review: Another coroutine>invoke change
Code review: Use Facepunch Invoke instead of StartEnginesCo coroutine
Code review: Facepunch Invoke instead of coroutine for ModuleAddOneFrameWait
Merge from Main->Vehicles
Fix item assigned where it should've been the entity prefab
Prevent error in editor script OnEnable by moving the FindProperty calls
Fix editor script glitch that was breaking Fuel Tank + fix refresh button being disabled.
Put all vehicles mats on 0 detail colour alpha by default (representing the 100% health look). Also switched to Rust/Standard shader.
Import MeshBaker plugin (minus Examples directory)
New vehicle spawn presets that use the two new modules (1m storage, 2m passenger)
Fix spawnable script setup
Some more health fixes. Fixes repairs.
Revert some health changes from my #
39974, so overrides are used correctly.
Fix BuildingBlock health display bug. Health on BuildingBlock upgrades is actually sent to the client before the new upgrade state is sent. My code was clamping set health values to MaxHealth(), meaning the new value was clamped to the pre-upgrade max. Reverted the change to let health be set to "impossible" values again.
Also now checking MaxHealth() instead of _maxHealth in health property, allowing for overrides.
Adjust WheelRay mask to better match what the vehicle movement layer actually hits.
Remove the collisionLayerMask. Vehicle collisions will already only detect hits on the Vehicle Movement layer anyway, and it should be fine to consider all of those as collision hits.
Code review: Moved WheelRayMask into Defines.cs as WheelRay
Code review: Remove unused method.
Remove left-over uses of numSubComponents
Code review: Use PreProcess for module validation instead of OnValidate
Code review: Don't bother with caching numSubComponents
Code review: Another SetParent to go before Spawn, + remove unnecessary value assignments
Switch velocity to using GetWorldVelocity again.
Code review: Use PreProcess instead of OnValidate/DoPrepare, use [HideInInspector] instead of [ReadOnly], serialize vals as zero in the prefabs.
Code review: Convert VehicleSnapZone to use TriggerBase. Renamed to TriggerMagnetSnapZone.
Fix TriggerBase entity list bug. Entities with multiple colliders could get into the following situation:
- Collider A enters the trigger. The base entity is added to the entityContents HashSet.
- Collider B enters the trigger (same entity).
- Collider A leaves the trigger. The base entity is removed from the entityContents HashSet.
But the entity's Collider B is still in the trigger.
This fix keeps the entity around until all colliders on it have left the trigger.
Code review: Add "== this" check with || before EqualNetID check
Code review: Call SetParent before calling Spawn
Code review: Add null check on created
Code review: André says "UnityEvent uses reflection and is slow as balls. Better to get rid." Changed the generic TriggerStay to CarGarageTiggerStay which specifically calls a ModularCarGarage method directly.
Code review: Add entity creation null check.
Code review: Move IsNull from CollectionEx to ObjectEx
Storage module now fully functional + manifest rebuild again
Put prevent building chassis colliders back on the correct Prevent Building layer