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
///