4,794 Commits over 1,371 Days - 0.15cph!
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
Reset block types in the example Biome asset files
Added simple Biome system. Completely inactive right now - but can add a BiomeSampler component and add which Biome asset types you want in the generation. Can easily get which Biome you're in from X, Z voxel coordinates. The sampling code is basic right now, determines biome based on a temperature noise map and each Biome asset determines their temperature. Right now Biome assets can only determine the block types that are used in generation.
Idea for custom writing / reading data to snapshot per component (if it overrides those methods)
Can only MoveOne or Split to slots when the target slot is the same item type
Only drop to world item when dragging if we're over the back panel
Fix dropping item by dropping out of slot
Don't create whole new item when moving one if there's only one to move
Item now implements IValid
Forgot to rename inventory UI stylesheet
Add ItemDragType. Implement moving one item from stack, or splitting stack in half and moving. Drag outside of any slot to drop the item in the world (untested.)
Completely client-auth inventory, remove networking for now. Improve world item pickup to reduce/eliminate possibility of two players picking up the item / duplication.
Put these behind a IsHost - we should be able to let anyone "own" an Inventory, but only the host can modify it
Name inventory let channel own it
Include resources
My item def became corrupted
Try our luck updating Hud prefab
Forgot player.cs test code
Some kind of networked inventory v0.1 - turns out it's a PITA (let's resolve that another time). Item definitions can define prefabs for when an item is consumed/equipped (not impl yet), can also define a custom Item prefab for even more extensibility., world model etc for future. Basic API for giving an item (host), moving an item from one Inventory to another based on slot id. Mostly everything is component/game object based but Inventories must be Host controlled.
Fix deserializing across network when GameObject reference on a property doesn't exist on the receiving end
Better warning messages on unknown component / gameobject for RPC - try to log the RPC method name, and if unknown component the GameObject name
Don't need to use the RPC filter here this should fix Tony's issue - doing a check inside the RPC callback anyway
Fix parent setting, flush for appropriate game object only, ++
Set startup scene in project settings
Set Jigsaw piece ownership transfer mode to Takeover
Add undo support / unsaved changes to advanced network settings
Clearer logic for these flags
Only log this message if networking debug is on
Re-enable Nagle by default, Protocol++
Component RPCs sent Id instead of type name string allowing RPCs from multiple components of the same type. Protocol++
Make sure we do include reliable transform update when changing ownership
Squashed commit of the following:
commit 76f039bef3ee819f4b5e0b34179223405196d5bd
Author: kurozael <kurozael@gmail.com>
Date: Tue Aug 6 15:50:41 2024 +0100
Cleanup
commit 7559957d809b94986d20f93f417f69194138782a
Author: kurozael <kurozael@gmail.com>
Date: Tue Aug 6 15:43:55 2024 +0100
Some logs
commit ed9cb58705a97c3889d8d7a4ef97d8895b93dc98
Author: kurozael <kurozael@gmail.com>
Date: Tue Aug 6 15:04:35 2024 +0100
Remove debug log
commit 91c006383091050f87ac0a75b70df02e9ac17498
Author: kurozael <kurozael@gmail.com>
Date: Tue Aug 6 14:54:41 2024 +0100
Remove debugging - fix spike when flushing pending updates
commit a681e665208d87bc99c82ffb9865abc24365caa5
Author: kurozael <kurozael@gmail.com>
Date: Tue Aug 6 14:43:32 2024 +0100
Fix flags
commit 5eee6683b66a3b38390605a1f7ba72aaf51cc68a
Author: kurozael <kurozael@gmail.com>
Date: Tue Aug 6 14:34:28 2024 +0100
More debug
commit f35802593b1e9af772bf91a3eb451cb6c1c6dc3a
Author: kurozael <kurozael@gmail.com>
Date: Tue Aug 6 14:30:52 2024 +0100
Debugging
commit 42e0e1d3d06f4cce830c530e7b2e3943b94921e4
Author: kurozael <kurozael@gmail.com>
Date: Tue Aug 6 12:52:35 2024 +0100
++
commit d2402c9253ef520bdea0b141a393d0baa72a8d82
Author: kurozael <kurozael@gmail.com>
Date: Tue Aug 6 12:46:25 2024 +0100
Initial commit
Set DisconnectCleanupTime to 120
Remove debugging - fix spike when flushing pending updates
Actually log the result code from SendMessageToUser so can debug issues here
NetworkSpawnRemote after all NWOs from snapshot deserialized but before callback batch to ensure references exist ( Fixes Facepunch/sbox-issues#6086 )