4,788 Commits over 1,371 Days - 0.15cph!
Stash all this work so I can make ubre happy
Stash this as well first
Custom (INetworkCustom such as NetList/NetDictionary) not including in delta snapshot for now as they handle this sort of thing themselves. Stepping stone
++
Logs
No wonder this wasn't getting received
Don't log these now
Test
Remove this now
Go on server time
Test
More tests
Some cleaning
No wonder this wasn't getting received
Custom (INetworkCustom such as NetList/NetDictionary) not including in delta snapshot for now as they handle this sort of thing themselves. Stepping stone
Only run logic in SceneNetworkSystem.OnBecameHost if scene is valid - we could just be in a lobby/party but not in-game
Stash all this work so I can make ubre happy
Stash this as well first
If GameObject isn't valid when trying to call an RPC, call the method anyway but only if we can determine that we have permission to do so - this way we can ensure RPC methods are still not called when they shouldn't be for any given user. (Fixes Facepunch/sbox-issues#6270)
Fixed an issue where if you're Small Fish and disconnect yourself from a created lobby immediately by calling GameNetworkSystem.Disconnect in OnLoad, a TCP socket would remain open preventing you from starting a lobby again. This is because Disconnect is called before the asynchronous method CreateLobbyAsync has finished, so it goes and adds/creates new sockets that never get closed.
Stash all this work so I can make ubre happy
No need to store as Base64 encoded string anymore
Refactor to use Component.INetworkSnapshot for sending initial world data
Idea for custom writing / reading data to snapshot per component (if it overrides those methods)
Some docs
Explicit ISnapshotWriter interface
Read snapshot immediately - no need for this prop
Dispose ByteStream properly
Rename to INetworkSnapshot
Component.INetworkSnapshot - improve some docs
Component.INetworkSnapshot - improve some docs
Idea for custom writing / reading data to snapshot per component (if it overrides those methods)
Some docs
Explicit ISnapshotWriter interface
Read snapshot immediately - no need for this prop
Dispose ByteStream properly
Rename to INetworkSnapshot
Rename to INetworkSnapshot
Dispose ByteStream properly
Read snapshot immediately - no need for this prop
Explicit ISnapshotWriter interface
Set Orphaned Mode on the Cue to Host
Do the same for other runtime spawned network objects
Remove random using statement
Added VoxelChangeListener. Listen for modifications within any volume. Added TestListenerComponent
Use block type icon and tint color for inventory icons if applicable
Add items for the 4 current block types
Blocks must specify item type if want to drop
Fixed position for dropped block
Fixed block item temp world model
Fixed some issues in hotbar
Get rid of BlockItem - do it another hacky way for now, solve this problem of multiple item types later
Fix
Add BlockItem. Make some stuff in Item virtual. Add Item.Name (virtual). Can use BlockItem.Create( Block, int ) to create a block item.
Add [JsonIgnore, Hide] to BlockToIndex
Remove AllowedTools in favor of a GatherSourceKind (MaterialKind) on the Block defintion. Remove MinimumEffectiveness from the defintion too as it'll be unused in Zik's damage system
Added Block types. Update to use Block references. Added Palette.GetBlockIndex( Block ). Blocks can define tags, a name, max health and breakable settings / damage scales - @Metapyziks will implement health / block damage with this stuff
Added [KeyProperty] Name to Palette entries
Make default temperature for a Biome asset be 0.5 instead of 0