- More / better static Game properties
- Instance now initialized on _EnterTree
- Players moved in from MultiplayerManager
- MultiplayerManager renamed to Multiplayer
- LocalPlayer now static
- Minor preparation for multiple workshops
- Add Players script for easy enumerating
of players and getting them by peer id
- Simplify Player.PeerId and .IsLocal
- Remove unnecessary Synchronizer script
("Player:velocity" property specified manually)
- Add RpcMode and TransferMode enums to GlobalUsings
- Add a bunch more extension functions
- Add RPC class to send RPCs in a fancy, type-safe way
Relating to item synchronization:
- Grid now assumes Grid-local transforms etc
- Item functions to pickup, place and throw
- This is no longer handled by PickupController
- ItemManager is used to relay RPCs due to a bug
- Add a new "Item" physics layer
- Models now include their collision shape
- Item "fixes" collision shape node location
- Item initializes some collision properties
- Grid has been turned into a scene
- Add IsLocal property to Player
- Disable some functionality if local
- Tweaks to movement and camera controller
- Let players push each other
- Add a fake "remote" player for testing
- Undo the IInitalizable silliness