4,794 Commits over 1,371 Days - 0.15cph!
Added AbilityType, IAbilityUser, BaseAbility and AbilityResource. Foundations for abilities/skills
Add HealAbility and able to use abilities in slot by Q,W,E,R. Still need to do target / AoE ability (selection).
Interpolate pan, move center on hero logic to camera
Add basic edge panning to the camera. Need to add a way to detect if mouse is outside of the game view when in editor
ToArray() for GetAll<> so can destroy components inside the loop
Add OutlineWhenHovered and OutlineWhenSelected components
Change ISelectable to a Component - auto create the trigger if none specified. Add Selectable.ISelectionListener
Auto find Selectable if not specified
I think this is a better system - added listeners for Hover/Unhover for selectables as well. Sync player's AimRay. Now can have components that show an outline or something when item is hovered
Added ISelectableEvent
Add CameraController, add IHeroEvent. Center on Hero when first spawned.
Oops Hero prefab selector needs selectable tag
Some cleanup. Auto select Hero on start. Don't love this first iteration of selection
Add ISelectable and basic selection
Improvements to selection stuff - add Deselect and pass PlayerState into selection callbacks
Add Input settings
Add PlayerState system. Simplify some stuff on GameManager for static access
Navigator docs
Add HeroResource. Add generichero.hero. Hero resource loading, Host-only team/loading and change callback setup
[Hide] IsValid on Resource so that it doesn't show Is Valid tickbox in inspector for game resources
Fix obsoletes
Add DrawPath property to Navigator for debugging nav path.
Set CharacterController radius to half of NavMesh agent radius
Restructure - DestroyAfterGame actually destroys the GameObject not the component
Fix Close On Launch not being saved properly in Startup Window (Fixes Facepunch/sbox-issues#5718)
Fix logs being cleared too late when Clear Console On Play is checked (Fixes Facepunch/sbox-issues#6103)
Use scene events
Some basic movement
Use safe scale in Transform.ToLocal and Transform.PointToLocal so that it cannot produce NaN or infinity values. This fixes a bug where a child of a parent with a scale of 0,0,0 cannot set position programatically without the position being infinity. It should also fix any other issues with NaN values where ToLocal is concerned (such as GameTransform) in cases where any component of scale was 0.
Add notifications to all players for pickups
Don't invoke change callback when loading or deserializing (Fixes Facepunch/sbox-issues#6406)
Make sure CodeGen is using global:: for everything - add a unit test to confirm
Put LONG obsolete method back again so tests pass because someone is still using it (grr)
Restore functionality to clear interpolation over the network with new system
Re-instate these long-obsolete methods for now because something is still using one of them :(
Ensure last update is sent properly when ownership changes (Fixes Facepunch/sbox-issues#6394)
Implement blocks_exploded stat
Fix spread disease - disable spreader during teleportation disease
Implement disease achievement - can pass disease onto other players by touching them
Move ChangeAttribute back to Sandbox.System but put the callback in Sandbox.Game so we don't break anything.
Upgrade ChangeAttribute to support any property not just for [ConVar], so it now works with [Sync], too. Move ChangeAttribute to Sandbox.Game so it can use TypeLibrary for CodeGenerator wrapped property stuff. Resolves Facepunch/sbox-issues#6386
More accurately synchronize Time.Now between clients. Fixes Facepunch/sbox-issues#6326 (at least with the repro they attached.)
Fixed Sync attribute / CodeGenerator wrapped properties ignoring existing modifiers (Fixes Facepunch/sbox-issues#5867)
Implement Pooper achievement / stat
Implement Go Faster Stripes achievement
Implement consecutive win / Winning Streak achievement
Implement Ace! achievement
Delta Snapshot Slots (#1660)
Test fix for "Unknown Player" has left the game
Put this warning behind a network debug check
Testing disable Nagle's algorithm on snapshots - it may caused delayed snapshots
Some final refactoring of DeltaSnapshot/DeltaSnapshotContainer
Further optimization - this is quicker than WriteArray/ReadArray
Optimization here to only re-serialize changes for snapshots
Optimize lookups - fix bug with reconnecting clients not processing snapshot
Clean up - make things more explicit in seperation of snapshot supported network table entries