Skip to content
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 2 additions & 10 deletions com.unity.netcode.gameobjects/Components/NetworkTransform.cs
Original file line number Diff line number Diff line change
Expand Up @@ -282,14 +282,7 @@ public void NetworkSerialize<T>(BufferSerializer<T> serializer) where T : IReade
{
// Go ahead and mark the local state dirty or not dirty as well
/// <see cref="TryCommitTransformToServer"/>
if (HasPositionChange || HasRotAngleChange || HasScaleChange)
{
IsDirty = true;
}
else
{
IsDirty = false;
}
IsDirty = HasPositionChange || HasRotAngleChange || HasScaleChange;
}
}
}
Expand Down Expand Up @@ -1150,8 +1143,7 @@ private void SetStateInternal(Vector3 pos, Quaternion rot, Vector3 scale, bool s
}
else
{
transform.position = pos;
transform.rotation = rot;
transform.SetPositionAndRotation(pos, rot);
}
transform.localScale = scale;
m_LocalAuthoritativeNetworkState.IsTeleportingNextFrame = shouldTeleport;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public override ILPostProcessResult Process(ICompiledAssembly compiledAssembly)
}
catch (Exception e)
{
m_Diagnostics.AddError((e.ToString() + e.StackTrace.ToString()).Replace("\n", "|").Replace("\r", "|"));
m_Diagnostics.AddError((e.ToString() + e.StackTrace).Replace("\n", "|").Replace("\r", "|"));
}
}
else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ public override ILPostProcessResult Process(ICompiledAssembly compiledAssembly)
}
catch (Exception e)
{
m_Diagnostics.AddError((e.ToString() + e.StackTrace.ToString()).Replace("\n", "|").Replace("\r", "|"));
m_Diagnostics.AddError((e.ToString() + e.StackTrace).Replace("\n", "|").Replace("\r", "|"));
}
}
else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ public override ILPostProcessResult Process(ICompiledAssembly compiledAssembly)
}
catch (Exception e)
{
m_Diagnostics.AddError((e.ToString() + e.StackTrace.ToString()).Replace("\n", "|").Replace("\r", "|"));
m_Diagnostics.AddError((e.ToString() + e.StackTrace).Replace("\n", "|").Replace("\r", "|"));
}
}
else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -263,8 +263,7 @@ public static void CheckForNetworkObject(GameObject gameObject, bool networkObje

// Now get the root parent transform to the current GameObject (or itself)
var rootTransform = GetRootParentTransform(gameObject.transform);
var networkManager = rootTransform.GetComponent<NetworkManager>();
if (networkManager == null)
if (!rootTransform.TryGetComponent<NetworkManager>(out var networkManager))
{
networkManager = rootTransform.GetComponentInChildren<NetworkManager>();
}
Expand Down Expand Up @@ -299,8 +298,7 @@ public static void CheckForNetworkObject(GameObject gameObject, bool networkObje

// Otherwise, check to see if there is any NetworkObject from the root GameObject down to all children.
// If not, notify the user that NetworkBehaviours require that the relative GameObject has a NetworkObject component.
var networkObject = rootTransform.GetComponent<NetworkObject>();
if (networkObject == null)
if (!rootTransform.TryGetComponent<NetworkObject>(out var networkObject))
{
networkObject = rootTransform.GetComponentInChildren<NetworkObject>();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ private static void ScenesInBuildActiveSceneCheck()
{
var scenesList = EditorBuildSettings.scenes.ToList();
var activeScene = SceneManager.GetActiveScene();
var isSceneInBuildSettings = scenesList.Where((c) => c.path == activeScene.path).Count() == 1;
var isSceneInBuildSettings = scenesList.Count((c) => c.path == activeScene.path) == 1;
var networkManager = Object.FindObjectOfType<NetworkManager>();
if (!isSceneInBuildSettings && networkManager != null)
{
Expand Down Expand Up @@ -109,9 +109,8 @@ private static void EditorApplication_hierarchyChanged()
public void CheckAndNotifyUserNetworkObjectRemoved(NetworkManager networkManager, bool editorTest = false)
{
// Check for any NetworkObject at the same gameObject relative layer
var networkObject = networkManager.gameObject.GetComponent<NetworkObject>();

if (networkObject == null)
if (!networkManager.gameObject.TryGetComponent<NetworkObject>(out var networkObject))
{
// if none is found, check to see if any children have a NetworkObject
networkObject = networkManager.gameObject.GetComponentInChildren<NetworkObject>();
Expand Down
17 changes: 6 additions & 11 deletions com.unity.netcode.gameobjects/Runtime/Core/NetworkManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public class NetworkManager : MonoBehaviour, INetworkUpdateSystem

internal static string PrefabDebugHelper(NetworkPrefab networkPrefab)
{
return $"{nameof(NetworkPrefab)} \"{networkPrefab.Prefab.gameObject.name}\"";
return $"{nameof(NetworkPrefab)} \"{networkPrefab.Prefab.name}\"";
}

internal NetworkBehaviourUpdater BehaviourUpdater { get; set; }
Expand Down Expand Up @@ -187,8 +187,7 @@ public void Send(ulong clientId, NetworkDelivery delivery, FastBufferWriter batc
/// <returns>a <see cref="GameObject"/> that is either the override or if no overrides exist it returns the same as the one passed in as a parameter</returns>
public GameObject GetNetworkPrefabOverride(GameObject gameObject)
{
var networkObject = gameObject.GetComponent<NetworkObject>();
if (networkObject != null)
if (gameObject.TryGetComponent<NetworkObject>(out var networkObject))
{
if (NetworkConfig.NetworkPrefabOverrideLinks.ContainsKey(networkObject.GlobalObjectIdHash))
{
Expand Down Expand Up @@ -519,8 +518,7 @@ internal void OnValidate()
var networkPrefabGo = networkPrefab?.Prefab;
if (networkPrefabGo != null)
{
var networkObject = networkPrefabGo.GetComponent<NetworkObject>();
if (networkObject == null)
if (!networkPrefabGo.TryGetComponent<NetworkObject>(out var networkObject))
{
if (NetworkLog.CurrentLogLevel <= LogLevel.Normal)
{
Expand Down Expand Up @@ -695,8 +693,7 @@ private bool ShouldAddPrefab(NetworkPrefab networkPrefab, out uint sourcePrefabG
}
else if (networkPrefab.Override == NetworkPrefabOverride.None)
{
networkObject = networkPrefab.Prefab.GetComponent<NetworkObject>();
if (networkObject == null)
if (!networkPrefab.Prefab.TryGetComponent(out networkObject))
{
if (NetworkLog.CurrentLogLevel <= LogLevel.Error)
{
Expand Down Expand Up @@ -742,8 +739,7 @@ private bool ShouldAddPrefab(NetworkPrefab networkPrefab, out uint sourcePrefabG
}
else
{
networkObject = networkPrefab.SourcePrefabToOverride.GetComponent<NetworkObject>();
if (networkObject == null)
if (!networkPrefab.SourcePrefabToOverride.TryGetComponent(out networkObject))
{
if (NetworkLog.CurrentLogLevel <= LogLevel.Error)
{
Expand Down Expand Up @@ -968,8 +964,7 @@ private void Initialize(bool server)
// If we have a player prefab, then we need to verify it is in the list of NetworkPrefabOverrideLinks for client side spawning.
if (NetworkConfig.PlayerPrefab != null)
{
var playerPrefabNetworkObject = NetworkConfig.PlayerPrefab.GetComponent<NetworkObject>();
if (playerPrefabNetworkObject != null)
if (NetworkConfig.PlayerPrefab.TryGetComponent<NetworkObject>(out var playerPrefabNetworkObject))
{
//In the event there is no NetworkPrefab entry (i.e. no override for default player prefab)
if (!NetworkConfig.NetworkPrefabOverrideLinks.ContainsKey(playerPrefabNetworkObject
Expand Down
5 changes: 2 additions & 3 deletions com.unity.netcode.gameobjects/Runtime/Core/NetworkObject.cs
Original file line number Diff line number Diff line change
Expand Up @@ -435,7 +435,7 @@ public static void NetworkHide(List<NetworkObject> networkObjects, ulong clientI
private void OnDestroy()
{
if (NetworkManager != null && NetworkManager.IsListening && NetworkManager.IsServer == false && IsSpawned &&
(IsSceneObject == null || (IsSceneObject != null && IsSceneObject.Value != true)))
(IsSceneObject == null || (IsSceneObject.Value != true)))
{
throw new NotServerException($"Destroy a spawned {nameof(NetworkObject)} on a non-host client is not valid. Call {nameof(Destroy)} or {nameof(Despawn)} on the server/host instead.");
}
Expand Down Expand Up @@ -690,8 +690,7 @@ private void OnTransformParentChanged()
var parentTransform = transform.parent;
if (parentTransform != null)
{
var parentObject = transform.parent.GetComponent<NetworkObject>();
if (parentObject == null)
if (!transform.parent.TryGetComponent<NetworkObject>(out var parentObject))
{
transform.parent = m_CachedParent;
Debug.LogException(new InvalidParentException($"Invalid parenting, {nameof(NetworkObject)} moved under a non-{nameof(NetworkObject)} parent"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -398,9 +398,9 @@ internal void WriteSceneSynchronizationData(FastBufferWriter writer)
int totalBytes = 0;

// Write the number of NetworkObjects we are serializing
BytePacker.WriteValuePacked(writer, m_NetworkObjectsSync.Count());
BytePacker.WriteValuePacked(writer, m_NetworkObjectsSync.Count);
// Serialize all NetworkObjects that are spawned
for (var i = 0; i < m_NetworkObjectsSync.Count(); ++i)
for (var i = 0; i < m_NetworkObjectsSync.Count; ++i)
{
var noStart = writer.Position;
var sceneObject = m_NetworkObjectsSync[i].GetMessageSceneObject(TargetClientId);
Expand All @@ -411,9 +411,9 @@ internal void WriteSceneSynchronizationData(FastBufferWriter writer)
}

// Write the number of despawned in-scene placed NetworkObjects
writer.WriteValueSafe(m_DespawnedInSceneObjectsSync.Count());
writer.WriteValueSafe(m_DespawnedInSceneObjectsSync.Count);
// Write the scene handle and GlobalObjectIdHash value
for (var i = 0; i < m_DespawnedInSceneObjectsSync.Count(); ++i)
for (var i = 0; i < m_DespawnedInSceneObjectsSync.Count; ++i)
{
var noStart = writer.Position;
var sceneObject = m_DespawnedInSceneObjectsSync[i].GetMessageSceneObject(TargetClientId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,7 @@ public void RegisterHostGlobalObjectIdHashValues(GameObject sourceNetworkPrefab,
// Now we register all
foreach (var gameObject in networkPrefabOverrides)
{
var targetNetworkObject = gameObject.GetComponent<NetworkObject>();
if (targetNetworkObject != null)
if (gameObject.TryGetComponent<NetworkObject>(out var targetNetworkObject))
{
if (!m_PrefabInstanceToPrefabAsset.ContainsKey(targetNetworkObject.GlobalObjectIdHash))
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -299,7 +299,7 @@ private static NetworkEndpoint ParseNetworkEndpoint(string ip, ushort port)
/// <summary>
/// Endpoint (IP address and port) server will listen/bind on.
/// </summary>
public NetworkEndpoint ListenEndPoint => ParseNetworkEndpoint((ServerListenAddress == string.Empty) ? Address : ServerListenAddress, Port);
public NetworkEndpoint ListenEndPoint => ParseNetworkEndpoint((ServerListenAddress?.Length == 0) ? Address : ServerListenAddress, Port);
}

/// <summary>
Expand Down