- 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
- IsLocal is now false by default and
set in the editor for the local player.
- PeerId is calculated from and sets the node's
Name instead of having its own backing field.
- Add GetPlayerByPeerId to MultiplayerManager.