userConnacancel
reposboxcancel

717 Commits over 1,067 Days - 0.03cph!

4 Days Ago
DisconnectAction -> NetworkOrphaned. Same terms everywhere else. Add NetworkOrphaned.Random - randomly assign owner when owner disconnects - route this through the host though
5 Days Ago
Make it an interface
5 Days Ago
Correct order
5 Days Ago
Might not have an active scene
5 Days Ago
Remove this log
5 Days Ago
Bit cleaner perhaps
5 Days Ago
Testing something but its shit, stash it though
5 Days Ago
Some cleanup
5 Days Ago
Unused usings
5 Days Ago
Can specify what happens to a network object when owner disconnects - don't love the naming
5 Days Ago
Fixed Sync vars on derived component types not working
5 Days Ago
Host Sync Vars (#1462) * NetworkTable.Entry.HasControl test. Separate sending network table changes from main update. Host or Owner can send table changes (only send entries they _control_) * When using WriteAll always write all regardless of control. Make it so unless YOU control a Sync property you can't physically change its value * Revert that for now - let people change Sync var value locally as it was before, we can try to find a better way to prevent this later. Complication comes from INetworkCustom * Remove redundant call * Let''s have each entry define if it has changes now that each one can be potentially controlled by different clients. Make sure we clear changed flag on entry when reading it. NetworkTable.HasChanges will now return true if any entry we have control over is dirty * Clarify comment * Let's call it HostSync * Prevent actual setting of Sync property, modification of NetList, or NetDictionary if you don't have control over it. Non-owner, non-host can't change the values locally, they _must_ be what the synchronized value is * We can always set the property if network not initialized * Default HasControl to true for NetList/NetDictionary in-case not set
6 Days Ago
Default HasControl to true for NetList/NetDictionary in-case not set
6 Days Ago
Let's call it HostSync Prevent actual setting of Sync property, modification of NetList, or NetDictionary if you don't have control over it. Non-owner, non-host can't change the values locally, they _must_ be what the synchronized value is We can always set the property if network not initialized
6 Days Ago
Clarify comment
6 Days Ago
Let''s have each entry define if it has changes now that each one can be potentially controlled by different clients. Make sure we clear changed flag on entry when reading it. NetworkTable.HasChanges will now return true if any entry we have control over is dirty
6 Days Ago
Remove redundant call
6 Days Ago
Revert that for now - let people change Sync var value locally as it was before, we can try to find a better way to prevent this later. Complication comes from INetworkCustom
6 Days Ago
When using WriteAll always write all regardless of control. Make it so unless YOU control a Sync property you can't physically change its value
6 Days Ago
NetworkTable.Entry.HasControl test. Separate sending network table changes from main update. Host or Owner can send table changes (only send entries they _control_)
6 Days Ago
6 Days Ago
Network Authority / Permissions (#1457) * Can a connection create objects? * Send network destroy even if DestroyImmediate is called * Ownership authority flags * Let GameObject have [Sync] too (test) * Reorder enum, add [Expose] * Change up logic for can create objects - only check if we have a source * Default CanCreateObjects to true for now (this is current behavior) * Initial implementatior for ownership authority * Use NetworkAccessor for changing ownership authority. (Temp? Depending on review) don't use TL for set prop for Sync Vars * Initial implementation of Rpc authority * Remove a test log * CodeGen static array for attributes on a CodeGenerator method/prop now marked as [SkipHotload] and readonly, so they do update when changed * Make it CanSpawnObjects * CanSpawnObjects settable only by the host * Some renaming. Set OwnerTransfer direct on GameObject instead of method on NetworkAccessor * Make sure CanSpawnObjects is synchronized to clients when set from host via ConnectionInfo * Default CanSpawnObjects to true for now * When OwnerTransfer is Request, make actual requests to the host for Drop/Assign/Take ownership and if host approves, then host will send the messages to everyone to take that action. Each message will then validate if was received from host * Remove this for now, sus is later * CanSpawnObjects is always true for the host. Early out in NetworkSpawn if local connection can't spawn objects - why bother trying at all? * NetworkAccessor.SetOwnerTransfer method * Documentation fixes * Rename Rpc.HasAuthority to Rpc.HasPermission for consistency * Owner can always drop ownership * Allow owner transfer changing from current owner
6 Days Ago
Allow owner transfer changing from current owner
6 Days Ago
Owner can always drop ownership
6 Days Ago
Rename Rpc.HasAuthority to Rpc.HasPermission for consistency
6 Days Ago
Documentation fixes
6 Days Ago
NetworkAccessor.SetOwnerTransfer method
7 Days Ago
CanSpawnObjects is always true for the host. Early out in NetworkSpawn if local connection can't spawn objects - why bother trying at all?
7 Days Ago
Remove this for now, sus is later
7 Days Ago
When OwnerTransfer is Request, make actual requests to the host for Drop/Assign/Take ownership and if host approves, then host will send the messages to everyone to take that action. Each message will then validate if was received from host
7 Days Ago
Default CanSpawnObjects to true for now
7 Days Ago
Make sure CanSpawnObjects is synchronized to clients when set from host via ConnectionInfo
7 Days Ago
Some renaming. Set OwnerTransfer direct on GameObject instead of method on NetworkAccessor
7 Days Ago
Can a connection create objects? Send network destroy even if DestroyImmediate is called Ownership authority flags Let GameObject have [Sync] too (test) Reorder enum, add [Expose] Change up logic for can create objects - only check if we have a source Default CanCreateObjects to true for now (this is current behavior) Initial implementatior for ownership authority Use NetworkAccessor for changing ownership authority. (Temp? Depending on review) don't use TL for set prop for Sync Vars Initial implementation of Rpc authority Remove a test log CodeGen static array for attributes on a CodeGenerator method/prop now marked as [SkipHotload] and readonly, so they do update when changed Make it CanSpawnObjects CanSpawnObjects settable only by the host
8 Days Ago
Can a connection create objects? Send network destroy even if DestroyImmediate is called Ownership authority flags Let GameObject have [Sync] too (test) Reorder enum, add [Expose] Change up logic for can create objects - only check if we have a source Default CanCreateObjects to true for now (this is current behavior) Initial implementatior for ownership authority Use NetworkAccessor for changing ownership authority. (Temp? Depending on review) don't use TL for set prop for Sync Vars Initial implementation of Rpc authority Remove a test log CodeGen static array for attributes on a CodeGenerator method/prop now marked as [SkipHotload] and readonly, so they do update when changed Make it CanSpawnObjects CanSpawnObjects settable only by the host
10 Days Ago
Copy tags from GameObject for Legacy Particle System -> SceneObject In ParticleSpriteRenderer make sure we copy over tags from the GameObject to the SceneObject Internal ReadOnlyTagSet Parse kv tags into ObjectEntry.Tags and use them in SceneMapLoader to set any created sceneobject tags Copy tags from SceneObjects to MapObjectComponent GameObject Add some default tag from Hammer, light, text, particles Fix NRE Set some default tags for Particle and Light and Skybox components Better light tags
11 Days Ago
CanSpawnObjects settable only by the host
11 Days Ago
Make it CanSpawnObjects
12 Days Ago
Remove a test log CodeGen static array for attributes on a CodeGenerator method/prop now marked as [SkipHotload] and readonly, so they do update when changed
12 Days Ago
Can a connection create objects? Send network destroy even if DestroyImmediate is called Ownership authority flags Let GameObject have [Sync] too (test) Reorder enum, add [Expose] Change up logic for can create objects - only check if we have a source Default CanCreateObjects to true for now (this is current behavior) Initial implementatior for ownership authority Use NetworkAccessor for changing ownership authority. (Temp? Depending on review) don't use TL for set prop for Sync Vars Initial implementation of Rpc authority
13 Days Ago
Clear watcher var after dispose
13 Days Ago
Fix tests
13 Days Ago
Fixes Facepunch/sbox-issues#4725 - Fixes a bunch of issues with SCSS hotloading. Style sheets weren't actually being removed when deleted or changed. Clear previously loaded style sheets properly on hotload. Properly update when stylesheet is added after it had tried to be loaded before.
13 Days Ago
Change mount logic in OnPostCompileFinished, call SceneMap.OnMapUpdated regardless. Make async and add short delays
14 Days Ago
Fixed FileSystem.NormalizeFilename changing \ to // in paths instead of to /. This fixes hotloading of .scss files in regular razor Panel (PanelComponent was fine)
22 Days Ago
Getting closer maybe
22 Days Ago
Stash
26 Days Ago
Stash
28 Days Ago
NetList, NetDictionary (#1447) * Initial commit * Make NetworkTableContainer into an internal interface INetworkTableContainer. Use explicit interface implemention to keep members from being exposed to public API. * Add some exception handling * Let the INetworkTableContainer handle writing/reading whether it's only changes or a full update * Backwards compatibility for IList and IDictionary but it isn't ideal so throw a warning to use NetList and NetDictionary * Fix some documentation. Add ExchangeNetList test. When new instance of NetDictionary or NetList is created, add Reset change immediately. We want clients to know it's completely changed. * Add appropriate unit tests * Fix for hashcode * INetworkCustom. Add tests for NetList, NetDictionary. * Add example usage * Better formatting
28 Days Ago
Initial commit Make NetworkTableContainer into an internal interface INetworkTableContainer. Use explicit interface implemention to keep members from being exposed to public API. Add some exception handling Let the INetworkTableContainer handle writing/reading whether it's only changes or a full update Backwards compatibility for IList and IDictionary but it isn't ideal so throw a warning to use NetList and NetDictionary Fix some documentation. Add ExchangeNetList test. When new instance of NetDictionary or NetList is created, add Reset change immediately. We want clients to know it's completely changed. Add appropriate unit tests Fix for hashcode INetworkCustom. Add tests for NetList, NetDictionary. Add example usage Better formatting