diff --git a/com.unity.netcode.gameobjects/Prototyping/NetworkTransform.cs b/com.unity.netcode.gameobjects/Prototyping/NetworkTransform.cs index 1c4a67b13c..2d6b6f153a 100644 --- a/com.unity.netcode.gameobjects/Prototyping/NetworkTransform.cs +++ b/com.unity.netcode.gameobjects/Prototyping/NetworkTransform.cs @@ -9,18 +9,6 @@ namespace Unity.Netcode.Prototyping [AddComponentMenu("Netcode/" + nameof(NetworkTransform))] public class NetworkTransform : NetworkBehaviour { - /// - /// Server authority allows only the server to update this transform - /// Client authority allows only the owner client to update this transform - /// Shared authority allows everyone to update this transform - /// - public enum NetworkAuthority - { - Server = 0, - Client, - Shared - } - internal class NetworkState : INetworkSerializable { internal const int InLocalSpaceBit = 0; @@ -140,13 +128,6 @@ public void NetworkSerialize(NetworkSerializer serializer) } } - /// - /// TODO this will need refactoring - /// Specifies who can update this transform - /// - [Tooltip("Defines who can update this transform")] - public NetworkAuthority Authority = NetworkAuthority.Server; - /// /// The network channel to use send updates /// @@ -178,14 +159,6 @@ public void NetworkSerialize(NetworkSerializer serializer) internal readonly NetworkVariable ReplNetworkState = new NetworkVariable(new NetworkState()); internal NetworkState PrevNetworkState; - /// - /// Does this instance (client or server) has authority to update transform? - /// - public bool CanUpdateTransform => - Authority == NetworkAuthority.Client && IsClient && IsOwner || - Authority == NetworkAuthority.Server && IsServer || - Authority == NetworkAuthority.Shared; - // updates `NetworkState` properties if they need to and returns a `bool` indicating whether or not there was any changes made // returned boolean would be useful to change encapsulating `NetworkVariable`'s dirty state, e.g. ReplNetworkState.SetDirty(isDirty); internal bool UpdateNetworkState(NetworkState networkState) @@ -390,39 +363,13 @@ private void OnNetworkStateChanged(NetworkState oldState, NetworkState newState) return; } - if (Authority == NetworkAuthority.Client && IsClient && IsOwner) - { - // todo MTT-768 this shouldn't happen anymore with new tick system (tick written will be higher than tick read, so netvar wouldn't change in that case) - return; - } - ApplyNetworkState(newState); } - private void UpdateNetVarPerms() - { - switch (Authority) - { - default: - throw new NotImplementedException($"Authority: {Authority} is not handled"); - case NetworkAuthority.Server: - ReplNetworkState.Settings.WritePermission = NetworkVariablePermission.ServerOnly; - break; - case NetworkAuthority.Client: - ReplNetworkState.Settings.WritePermission = NetworkVariablePermission.OwnerOnly; - break; - case NetworkAuthority.Shared: - ReplNetworkState.Settings.WritePermission = NetworkVariablePermission.Everyone; - break; - } - } - private void Awake() { m_Transform = transform; - UpdateNetVarPerms(); - ReplNetworkState.Settings.SendNetworkChannel = Channel; ReplNetworkState.Settings.SendTickrate = FixedSendsPerSecond; @@ -446,7 +393,7 @@ private void FixedUpdate() return; } - if (CanUpdateTransform) + if (IsServer) { ReplNetworkState.SetDirty(UpdateNetworkState(ReplNetworkState.Value)); } @@ -459,17 +406,6 @@ private void FixedUpdate() } } - /// - /// Updates the NetworkTransform's authority model at runtime - /// - internal void SetAuthority(NetworkAuthority authority) - { - Authority = authority; - UpdateNetVarPerms(); - // todo this should be synced with the other side. - // let's wait for a more final solution before adding more code here - } - /// /// Teleports the transform to the given values without interpolating ///