9 Commits over 0 Days - ∞cph!
Default HasControl to true for NetList/NetDictionary in-case not set
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
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
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
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
NetworkTable.Entry.HasControl test. Separate sending network table changes from main update. Host or Owner can send table changes (only send entries they _control_)