From c4576a7b6172ffd849fc5a159ac262918aece56e Mon Sep 17 00:00:00 2001 From: Luke Stampfli Date: Fri, 15 Oct 2021 10:56:14 +0100 Subject: [PATCH 1/3] Update to latest NGO --- .../Assets/Scenes/network.unity | 58 +++----- .../2DSpaceShooter/Assets/Scripts/Asteroid.cs | 7 +- Basic/2DSpaceShooter/Assets/Scripts/Bullet.cs | 2 +- .../Assets/Scripts/NetworkManagerHud.cs | 43 +++--- .../Assets/Scripts/NetworkObjectPool.cs | 3 +- .../2DSpaceShooter/Assets/Scripts/Powerup.cs | 5 +- .../Scripts/RandomPositionPlayerSpawner.cs | 2 +- .../Assets/Scripts/ShipControl.cs | 124 ++++-------------- .../2DSpaceShooter/Assets/Scripts/Spawner.cs | 8 +- Basic/2DSpaceShooter/Packages/manifest.json | 3 +- .../BurstAotSettings_StandaloneWindows.json | 16 +++ .../CommonBurstAotSettings.json | 6 + 12 files changed, 96 insertions(+), 181 deletions(-) create mode 100644 Basic/2DSpaceShooter/ProjectSettings/BurstAotSettings_StandaloneWindows.json create mode 100644 Basic/2DSpaceShooter/ProjectSettings/CommonBurstAotSettings.json diff --git a/Basic/2DSpaceShooter/Assets/Scenes/network.unity b/Basic/2DSpaceShooter/Assets/Scenes/network.unity index c8eafc09c..205ebf286 100644 --- a/Basic/2DSpaceShooter/Assets/Scenes/network.unity +++ b/Basic/2DSpaceShooter/Assets/Scenes/network.unity @@ -749,9 +749,9 @@ GameObject: m_Component: - component: {fileID: 872897449} - component: {fileID: 872897446} - - component: {fileID: 872897444} - component: {fileID: 872897445} - component: {fileID: 872897447} + - component: {fileID: 872897448} m_Layer: 0 m_Name: NetworkManager m_TagString: Untagged @@ -759,31 +759,6 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &872897444 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 872897443} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b84c2d8dfe509a34fb59e2b81f8e1319, type: 3} - m_Name: - m_EditorClassIdentifier: - MessageBufferSize: 5120 - MaxConnections: 100 - MaxSentMessageQueueSize: 128 - ConnectAddress: 127.0.0.1 - ConnectPort: 7777 - ServerListenPort: 7777 - ServerWebsocketListenPort: 8887 - SupportWebsocket: 0 - Channels: [] - UseMLAPIRelay: 0 - MLAPIRelayAddress: 184.72.104.138 - MLAPIRelayPort: 8888 - MessageSendMode: 0 --- !u!114 &872897445 MonoBehaviour: m_ObjectHideFlags: 0 @@ -815,10 +790,7 @@ MonoBehaviour: LogLevel: 1 NetworkConfig: ProtocolVersion: 0 - NetworkTransport: {fileID: 872897444} - RegisteredScenes: - - network - AllowRuntimeSceneChanges: 0 + NetworkTransport: {fileID: 872897448} PlayerPrefab: {fileID: 100000, guid: c2549a141109b1c49b41b054580f950e, type: 3} NetworkPrefabs: - Override: 0 @@ -848,7 +820,6 @@ MonoBehaviour: ConnectionData: EnableTimeResync: 0 TimeResyncInterval: 30 - EnableNetworkVariable: 1 EnsureNetworkVariableLengthSafety: 0 EnableSceneManagement: 1 ForceSamePrefabs: 1 @@ -858,12 +829,6 @@ MonoBehaviour: LoadSceneTimeOut: 120 MessageBufferTimeout: 20 EnableNetworkLogs: 1 - references: - version: 1 - 00000000: - type: {class: NullableBoolSerializable, ns: MLAPI.Configuration, asm: Unity.Multiplayer.MLAPI.Runtime} - data: - Value: 14735065859013011121 --- !u!114 &872897447 MonoBehaviour: m_ObjectHideFlags: 0 @@ -881,6 +846,25 @@ MonoBehaviour: - {x: 18, y: 12, z: 0} - {x: 33, y: -32, z: 0} - {x: 9, y: -25, z: 0} +--- !u!114 &872897448 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 872897443} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6960e84d07fb87f47956e7a81d71c4e6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ProtocolType: 0 + m_MessageBufferSize: 6144 + m_ReciveQueueSize: 128 + m_SendQueueSize: 128 + m_SendQueueBatchSize: 4096 + m_ServerAddress: 127.0.0.1 + m_ServerPort: 7777 --- !u!4 &872897449 Transform: m_ObjectHideFlags: 0 diff --git a/Basic/2DSpaceShooter/Assets/Scripts/Asteroid.cs b/Basic/2DSpaceShooter/Assets/Scripts/Asteroid.cs index 5b0ccd34d..046ffa024 100644 --- a/Basic/2DSpaceShooter/Assets/Scripts/Asteroid.cs +++ b/Basic/2DSpaceShooter/Assets/Scripts/Asteroid.cs @@ -1,6 +1,5 @@ -using UnityEngine; -using MLAPI; -using MLAPI.NetworkVariable; +using Unity.Netcode; +using UnityEngine; using UnityEngine.Assertions; public class Asteroid : NetworkBehaviour @@ -11,7 +10,7 @@ public class Asteroid : NetworkBehaviour NetworkObjectPool m_ObjectPool; - public NetworkVariableInt Size = new NetworkVariableInt(4); + public NetworkVariable Size = new NetworkVariable(4); [SerializeField] private int m_NumCreates = 3; diff --git a/Basic/2DSpaceShooter/Assets/Scripts/Bullet.cs b/Basic/2DSpaceShooter/Assets/Scripts/Bullet.cs index 6cabb78dd..8959fe8e8 100644 --- a/Basic/2DSpaceShooter/Assets/Scripts/Bullet.cs +++ b/Basic/2DSpaceShooter/Assets/Scripts/Bullet.cs @@ -1,6 +1,6 @@ using System; +using Unity.Netcode; using UnityEngine; -using MLAPI; public class Bullet : NetworkBehaviour { diff --git a/Basic/2DSpaceShooter/Assets/Scripts/NetworkManagerHud.cs b/Basic/2DSpaceShooter/Assets/Scripts/NetworkManagerHud.cs index bac8cf1f5..c5fa7a0c9 100644 --- a/Basic/2DSpaceShooter/Assets/Scripts/NetworkManagerHud.cs +++ b/Basic/2DSpaceShooter/Assets/Scripts/NetworkManagerHud.cs @@ -1,7 +1,7 @@ using System; using System.Runtime.CompilerServices; -using MLAPI; -using MLAPI.Transports.UNET; +using Unity.Netcode; +using Unity.Netcode.Transports.UNET; using UnityEngine; [RequireComponent(typeof(NetworkManager))] @@ -10,12 +10,13 @@ public class NetworkManagerHud : MonoBehaviour { NetworkManager m_NetworkManager; - UNetTransport m_Transport; + UnityTransport m_Transport; GUIStyle m_LabelTextStyle; // This is needed to make the port field more convenient. GUILayout.TextField is very limited and we want to be able to clear the field entirely so we can't cache this as ushort. - string m_PortString; + string m_PortString = "7777"; + string m_ConnectAddress = "127.0.0.1"; public Vector2 DrawOffset = new Vector2(10, 10); @@ -32,12 +33,7 @@ void OnGUI() { m_LabelTextStyle.normal.textColor = LabelColor; - m_Transport = (UNetTransport)m_NetworkManager.NetworkConfig.NetworkTransport; - - if (m_PortString == null) - { - m_PortString = m_Transport.ConnectPort.ToString(); - } + m_Transport = (UnityTransport)m_NetworkManager.NetworkConfig.NetworkTransport; GUILayout.BeginArea(new Rect(DrawOffset, new Vector2(200, 200))); @@ -64,11 +60,15 @@ void DrawConnectGUI() GUILayout.BeginHorizontal(); - m_Transport.ConnectAddress = GUILayout.TextField(m_Transport.ConnectAddress); + m_ConnectAddress = GUILayout.TextField(m_ConnectAddress); m_PortString = GUILayout.TextField(m_PortString); if (ushort.TryParse(m_PortString, out ushort port)) { - m_Transport.ConnectPort = port; + m_Transport.SetConnectionData(m_ConnectAddress, port); + } + else + { + m_Transport.SetConnectionData(m_ConnectAddress, 7777); } GUILayout.EndHorizontal(); @@ -98,30 +98,19 @@ void DrawStatusGUI() if (m_NetworkManager.IsServer) { var mode = m_NetworkManager.IsHost ? "Host" : "Server"; - GUILayout.Label($"{mode} active on port: {m_Transport.ConnectPort.ToString()}", m_LabelTextStyle); + //GUILayout.Label($"{mode} active on port: {m_Transport.ConnectPort.ToString()}", m_LabelTextStyle); // TODO currently not supported by UTP } else { if (m_NetworkManager.IsConnectedClient) { - GUILayout.Label($"Client connected {m_Transport.ConnectAddress}:{m_Transport.ConnectPort.ToString()}", m_LabelTextStyle); + //GUILayout.Label($"Client connected {m_Transport.ConnectAddress}:{m_Transport.ConnectPort.ToString()}", m_LabelTextStyle); // TODO currently not supported by UTP } } - if (GUILayout.Button("Stop")) + if (GUILayout.Button("Shutdown")) { - if (m_NetworkManager.IsHost) - { - m_NetworkManager.StopHost(); - } - else if (m_NetworkManager.IsServer) - { - m_NetworkManager.StopServer(); - } - else if (m_NetworkManager.IsClient) - { - m_NetworkManager.StopClient(); - } + m_NetworkManager.Shutdown(); } } diff --git a/Basic/2DSpaceShooter/Assets/Scripts/NetworkObjectPool.cs b/Basic/2DSpaceShooter/Assets/Scripts/NetworkObjectPool.cs index cf16b7d86..02d25c764 100644 --- a/Basic/2DSpaceShooter/Assets/Scripts/NetworkObjectPool.cs +++ b/Basic/2DSpaceShooter/Assets/Scripts/NetworkObjectPool.cs @@ -1,8 +1,7 @@ using System; using System.Collections.Generic; using System.Runtime.CompilerServices; -using MLAPI; -using MLAPI.Spawning; +using Unity.Netcode; using UnityEngine; using UnityEngine.Assertions; diff --git a/Basic/2DSpaceShooter/Assets/Scripts/Powerup.cs b/Basic/2DSpaceShooter/Assets/Scripts/Powerup.cs index 593443cba..9bb229441 100644 --- a/Basic/2DSpaceShooter/Assets/Scripts/Powerup.cs +++ b/Basic/2DSpaceShooter/Assets/Scripts/Powerup.cs @@ -1,6 +1,5 @@ -using UnityEngine; -using MLAPI; -using MLAPI.NetworkVariable; +using Unity.Netcode; +using UnityEngine; using UnityEngine.Assertions; public class Powerup : NetworkBehaviour diff --git a/Basic/2DSpaceShooter/Assets/Scripts/RandomPositionPlayerSpawner.cs b/Basic/2DSpaceShooter/Assets/Scripts/RandomPositionPlayerSpawner.cs index 98f05a6a9..123085e4d 100644 --- a/Basic/2DSpaceShooter/Assets/Scripts/RandomPositionPlayerSpawner.cs +++ b/Basic/2DSpaceShooter/Assets/Scripts/RandomPositionPlayerSpawner.cs @@ -1,6 +1,6 @@ using System; using System.Collections.Generic; -using MLAPI; +using Unity.Netcode; using UnityEngine; using Random = UnityEngine.Random; diff --git a/Basic/2DSpaceShooter/Assets/Scripts/ShipControl.cs b/Basic/2DSpaceShooter/Assets/Scripts/ShipControl.cs index 38a75b93e..98d33fdeb 100644 --- a/Basic/2DSpaceShooter/Assets/Scripts/ShipControl.cs +++ b/Basic/2DSpaceShooter/Assets/Scripts/ShipControl.cs @@ -1,7 +1,6 @@ using System; -using MLAPI; -using MLAPI.Messaging; -using MLAPI.NetworkVariable; +using Unity.Collections; +using Unity.Netcode; using UnityEngine; using UnityEngine.Assertions; @@ -41,35 +40,33 @@ public class ShipControl : NetworkBehaviour float bulletLifetime = 2; float topSpeed = 7.0f; - public NetworkVariableInt Health = new NetworkVariableInt(100); - public NetworkVariableInt Energy = new NetworkVariableInt(100); - - int m_Deaths = 0; - - public NetworkVariableFloat SpeedBuffTimer = new NetworkVariableFloat(0); - public NetworkVariableFloat RotateBuffTimer = new NetworkVariableFloat(0); - public NetworkVariableFloat TripleShotTimer = new NetworkVariableFloat(0); - public NetworkVariableFloat DoubleShotTimer = new NetworkVariableFloat(0); - public NetworkVariableFloat QuadDamageTimer = new NetworkVariableFloat(0); - public NetworkVariableFloat BounceTimer = new NetworkVariableFloat(0); + public NetworkVariable Health = new NetworkVariable(100); + public NetworkVariable Energy = new NetworkVariable(100); + + public NetworkVariable SpeedBuffTimer = new NetworkVariable(0f); + public NetworkVariable RotateBuffTimer = new NetworkVariable(0f); + public NetworkVariable TripleShotTimer = new NetworkVariable(0f); + public NetworkVariable DoubleShotTimer = new NetworkVariable(0f); + public NetworkVariable QuadDamageTimer = new NetworkVariable(0f); + public NetworkVariable BounceTimer = new NetworkVariable(0f); float m_EnergyTimer = 0; - public NetworkVariableString PlayerName = new NetworkVariableString(""); + public NetworkVariable PlayerName = new NetworkVariable(new FixedString32Bytes("")); [SerializeField] Texture m_Box; public ParticleSystem friction; public ParticleSystem thrust; - private NetworkVariableFloat m_FrictionEffectStartTimer = new NetworkVariableFloat(-10); + private NetworkVariable m_FrictionEffectStartTimer = new NetworkVariable(-10); // for client movement command throttling float m_OldMoveForce = 0; float m_OldSpin = 0; // server movement - private NetworkVariableFloat m_Thrusting = new NetworkVariableFloat(); + private NetworkVariable m_Thrusting = new NetworkVariable(); float m_Spin; @@ -81,22 +78,7 @@ void Awake() m_ObjectPool = GameObject.FindWithTag(s_ObjectPoolTag).GetComponent(); Assert.IsNotNull(m_ObjectPool, $"{nameof(NetworkObjectPool)} not found in scene. Did you apply the {s_ObjectPoolTag} to the GameObject?"); } - - void OnHealth(int oldValue, int newValue) - { - Health.Value = newValue; - } - - void OnEnable() - { - Health.OnValueChanged += OnHealth; - } - - void OnDisable() - { - Health.OnValueChanged -= OnHealth; - } - + void Start() { thrust.Stop(); @@ -107,7 +89,10 @@ void Start() public override void OnNetworkSpawn() { GetComponent().enabled = IsOwner; - PlayerName.Value = $"Player {OwnerClientId}"; + if (IsServer) + { + PlayerName.Value = $"Player {OwnerClientId}"; + } } public void TakeDamage(int amount) @@ -120,8 +105,7 @@ public void TakeDamage(int amount) Health.Value = 0; //todo: reset all buffs - - m_Deaths += 1; + Health.Value = 100; transform.position = NetworkManager.GetComponent().GetNextSpawnPosition(); GetComponent().velocity = Vector3.zero; @@ -151,7 +135,7 @@ void Fire(Vector3 direction) bulletRb.velocity = velocity; bullet.GetComponent().Config(this, damage, bounce, bulletLifetime); - bullet.GetComponent().Spawn(null, true); + bullet.GetComponent().Spawn(true); } void Update() @@ -424,7 +408,7 @@ void OnGUI() // draw the name with a shadow (colored for buf) GUI.color = Color.black; - GUI.Label(new Rect(pos.x - 20, Screen.height - pos.y - 30, 100, 30), PlayerName.Value); + GUI.Label(new Rect(pos.x - 20, Screen.height - pos.y - 30, 400, 30), PlayerName.Value.Value); GUI.color = Color.white; if (SpeedBuffTimer.Value > Time.time) { GUI.color = Buff.GetColor(Buff.BuffType.Speed); } @@ -439,7 +423,7 @@ void OnGUI() if (BounceTimer.Value > Time.time) { GUI.color = Buff.GetColor(Buff.BuffType.Bounce); } - GUI.Label(new Rect(pos.x - 21, Screen.height - pos.y - 31, 100, 30), PlayerName.Value); + GUI.Label(new Rect(pos.x - 21, Screen.height - pos.y - 31, 400, 30), PlayerName.Value.Value); // draw health bar background GUI.color = Color.grey; @@ -457,66 +441,4 @@ void OnGUI() GUI.color = Color.magenta; GUI.DrawTexture(new Rect(pos.x - 25, Screen.height - pos.y + 28, Energy.Value / 2, 5), m_Box); } - - // ShipControl - // public void FakeOnUnserializeVars(NetworkReader reader, bool initialState) - // { - // int num = (int)reader.ReadPackedUInt32(); - // if ((num & 1) != 0) - // { - // if (initialState) - // { - // Health.Value = (int)reader.ReadPackedUInt32(); - // } - // else - // { - // OnHealth((int)reader.ReadPackedUInt32()); - // } - // } - // - // if ((num & 2) != 0) - // { - // this.energy = (int)reader.ReadPackedUInt32(); - // } - // - // if ((num & 4) != 0) - // { - // this.speedBufTimer = reader.ReadSingle(); - // } - // - // if ((num & 8) != 0) - // { - // this.rotateBufTimer = reader.ReadSingle(); - // } - // - // if ((num & 16) != 0) - // { - // this.tripleshotTimer = reader.ReadSingle(); - // } - // - // if ((num & 32) != 0) - // { - // this.doubleshotTimer = reader.ReadSingle(); - // } - // - // if ((num & 64) != 0) - // { - // this.quadDamageTimer = reader.ReadSingle(); - // } - // - // if ((num & 128) != 0) - // { - // this.bounceTimer = reader.ReadSingle(); - // } - // - // if ((num & 256) != 0) - // { - // this.playerName = reader.ReadString(); - // } - // - // if ((num & 512) != 0) - // { - // this.m_Thrusting = reader.ReadSingle(); - // } - // } } diff --git a/Basic/2DSpaceShooter/Assets/Scripts/Spawner.cs b/Basic/2DSpaceShooter/Assets/Scripts/Spawner.cs index 3282bf38d..5bd1c5c8e 100644 --- a/Basic/2DSpaceShooter/Assets/Scripts/Spawner.cs +++ b/Basic/2DSpaceShooter/Assets/Scripts/Spawner.cs @@ -1,4 +1,4 @@ -using MLAPI; +using Unity.Netcode; using UnityEngine; public class Spawner : MonoBehaviour @@ -82,10 +82,10 @@ void SpawnAsteroids() go.GetComponent().angularVelocity = dir; go.GetComponent().velocity = new Vector2(dx, dy); go.GetComponent().asteroidPrefab = m_AsteroidPrefab; - go.GetComponent().Spawn(null, true); + go.GetComponent().Spawn( true); // TODO } } - + void SpawnObstacles() { // Obstacles are not networked we just spawn them as static objects on each peer @@ -131,7 +131,7 @@ void Update() GameObject powerUp = m_ObjectPool.GetNetworkObject(m_PowerupPrefab).gameObject; powerUp.transform.position = pos; powerUp.GetComponent().buffType.Value = (Buff.BuffType)Random.Range(0, (int)Buff.BuffType.Last); - powerUp.GetComponent().Spawn(null, true); + powerUp.GetComponent().Spawn(true); } if (Asteroid.numAsteroids == 0) diff --git a/Basic/2DSpaceShooter/Packages/manifest.json b/Basic/2DSpaceShooter/Packages/manifest.json index 778969f7f..aebce2bcc 100644 --- a/Basic/2DSpaceShooter/Packages/manifest.json +++ b/Basic/2DSpaceShooter/Packages/manifest.json @@ -4,7 +4,8 @@ "com.unity.ide.rider": "2.0.7", "com.unity.ide.visualstudio": "2.0.8", "com.unity.ide.vscode": "1.2.3", - "com.unity.multiplayer.mlapi": "https://github.com/Unity-Technologies/com.unity.multiplayer.mlapi.git?path=/com.unity.multiplayer.mlapi#d6b2a4864a79742c28afaaab02e46791dcb73270", + "com.unity.netcode.adapter.utp": "https://github.com/Unity-Technologies/com.unity.netcode.gameobjects.git?path=/com.unity.netcode.adapter.utp#develop", + "com.unity.netcode.gameobjects": "https://github.com/Unity-Technologies/com.unity.netcode.gameobjects.git?path=/com.unity.netcode.gameobjects/#develop", "com.unity.test-framework": "1.1.24", "com.unity.textmeshpro": "3.0.6", "com.unity.timeline": "1.4.8", diff --git a/Basic/2DSpaceShooter/ProjectSettings/BurstAotSettings_StandaloneWindows.json b/Basic/2DSpaceShooter/ProjectSettings/BurstAotSettings_StandaloneWindows.json new file mode 100644 index 000000000..2144f6dc7 --- /dev/null +++ b/Basic/2DSpaceShooter/ProjectSettings/BurstAotSettings_StandaloneWindows.json @@ -0,0 +1,16 @@ +{ + "MonoBehaviour": { + "Version": 3, + "EnableBurstCompilation": true, + "EnableOptimisations": true, + "EnableSafetyChecks": false, + "EnableDebugInAllBuilds": false, + "UsePlatformSDKLinker": false, + "CpuMinTargetX32": 0, + "CpuMaxTargetX32": 0, + "CpuMinTargetX64": 0, + "CpuMaxTargetX64": 0, + "CpuTargetsX32": 6, + "CpuTargetsX64": 72 + } +} diff --git a/Basic/2DSpaceShooter/ProjectSettings/CommonBurstAotSettings.json b/Basic/2DSpaceShooter/ProjectSettings/CommonBurstAotSettings.json new file mode 100644 index 000000000..3dffdba7e --- /dev/null +++ b/Basic/2DSpaceShooter/ProjectSettings/CommonBurstAotSettings.json @@ -0,0 +1,6 @@ +{ + "MonoBehaviour": { + "Version": 3, + "DisabledWarnings": "" + } +} From d9d0c800b30b5df6548b5961800ccc8e4561bcb6 Mon Sep 17 00:00:00 2001 From: Luke Stampfli Date: Fri, 15 Oct 2021 18:30:41 +0100 Subject: [PATCH 2/3] update NGO and use network rigidbody --- .../Assets/Prefabs/Asteroid.prefab | 32 +++++++- .../Assets/Prefabs/Bullet.prefab | 39 +++++++--- .../2DSpaceShooter/Assets/Prefabs/Ship.prefab | 74 ++++++++++++++++--- .../Assets/Scenes/network.unity | 12 +-- .../Assets/Scripts/NetworkManagerHud.cs | 4 +- 5 files changed, 126 insertions(+), 35 deletions(-) diff --git a/Basic/2DSpaceShooter/Assets/Prefabs/Asteroid.prefab b/Basic/2DSpaceShooter/Assets/Prefabs/Asteroid.prefab index 48629e0ca..07c0efdbd 100644 --- a/Basic/2DSpaceShooter/Assets/Prefabs/Asteroid.prefab +++ b/Basic/2DSpaceShooter/Assets/Prefabs/Asteroid.prefab @@ -15,6 +15,7 @@ GameObject: - component: {fileID: 11400004} - component: {fileID: 7964421087909880783} - component: {fileID: 7837779245142776376} + - component: {fileID: -5324048342422335247} m_Layer: 0 m_Name: Asteroid m_TagString: Untagged @@ -149,7 +150,7 @@ MonoBehaviour: Size: m_InternalValue: 4 m_NumCreates: 3 - m_AsteroidPrefab: {fileID: 100000} + asteroidPrefab: {fileID: 0} --- !u!114 &7964421087909880783 MonoBehaviour: m_ObjectHideFlags: 0 @@ -178,7 +179,30 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: e96cb6065543e43c4a752faaa1468eb1, type: 3} m_Name: m_EditorClassIdentifier: - Authority: 0 - Channel: 0 + SyncPositionX: 1 + SyncPositionY: 1 + SyncPositionZ: 1 + SyncRotAngleX: 1 + SyncRotAngleY: 1 + SyncRotAngleZ: 1 + SyncScaleX: 1 + SyncScaleY: 1 + SyncScaleZ: 1 + PositionThreshold: 0.001 + RotAngleThreshold: 0.01 + ScaleThreshold: 0.01 InLocalSpace: 0 - FixedSendsPerSecond: 20 + Interpolate: 1 + CanCommitToTransform: 0 +--- !u!114 &-5324048342422335247 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 80d7c879794dfda4687da0e400131852, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Basic/2DSpaceShooter/Assets/Prefabs/Bullet.prefab b/Basic/2DSpaceShooter/Assets/Prefabs/Bullet.prefab index 94f5fcdda..b1b04badb 100644 --- a/Basic/2DSpaceShooter/Assets/Prefabs/Bullet.prefab +++ b/Basic/2DSpaceShooter/Assets/Prefabs/Bullet.prefab @@ -15,6 +15,7 @@ GameObject: - component: {fileID: 11400004} - component: {fileID: -4113703611147433057} - component: {fileID: -2419440837048175228} + - component: {fileID: -7548598001898569089} m_Layer: 0 m_Name: Bullet m_TagString: Untagged @@ -165,14 +166,30 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: e96cb6065543e43c4a752faaa1468eb1, type: 3} m_Name: m_EditorClassIdentifier: - TransformAuthority: 0 - FixedSendsPerSecond: 20 - InterpolatePosition: 1 - SnapDistance: 10 - InterpolateServer: 1 - MinMeters: 0.15 - MinDegrees: 1.5 - MinSize: 0.15 - Channel: 0 - m_UseLocal: - m_InternalValue: 0 + SyncPositionX: 1 + SyncPositionY: 1 + SyncPositionZ: 1 + SyncRotAngleX: 1 + SyncRotAngleY: 1 + SyncRotAngleZ: 1 + SyncScaleX: 1 + SyncScaleY: 1 + SyncScaleZ: 1 + PositionThreshold: 0.001 + RotAngleThreshold: 0.01 + ScaleThreshold: 0.01 + InLocalSpace: 0 + Interpolate: 1 + CanCommitToTransform: 0 +--- !u!114 &-7548598001898569089 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 80d7c879794dfda4687da0e400131852, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Basic/2DSpaceShooter/Assets/Prefabs/Ship.prefab b/Basic/2DSpaceShooter/Assets/Prefabs/Ship.prefab index 2c3e01fd3..e6e045064 100644 --- a/Basic/2DSpaceShooter/Assets/Prefabs/Ship.prefab +++ b/Basic/2DSpaceShooter/Assets/Prefabs/Ship.prefab @@ -18,6 +18,7 @@ GameObject: - component: {fileID: 509584576524893815} - component: {fileID: -360930162699739946} - component: {fileID: 7678745961864154063} + - component: {fileID: -8406883944196582507} m_Layer: 0 m_Name: Ship m_TagString: Untagged @@ -160,7 +161,40 @@ MonoBehaviour: BounceTimer: m_InternalValue: 0 PlayerName: - m_InternalValue: SomeGuy + m_InternalValue: + utf8LengthInBytes: 0 + bytes: + offset0000: + byte0000: 0 + byte0001: 0 + byte0002: 0 + byte0003: 0 + byte0004: 0 + byte0005: 0 + byte0006: 0 + byte0007: 0 + byte0008: 0 + byte0009: 0 + byte0010: 0 + byte0011: 0 + byte0012: 0 + byte0013: 0 + byte0014: 0 + byte0015: 0 + byte0016: 0 + byte0017: 0 + byte0018: 0 + byte0019: 0 + byte0020: 0 + byte0021: 0 + byte0022: 0 + byte0023: 0 + byte0024: 0 + byte0025: 0 + byte0026: 0 + byte0027: 0 + byte0028: 0 + byte0029: 0 m_Box: {fileID: 2800000, guid: 8e7a4402ab9f0ec4bbc0457c590caef2, type: 3} friction: {fileID: 19800002} thrust: {fileID: 19800000} @@ -384,17 +418,21 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: e96cb6065543e43c4a752faaa1468eb1, type: 3} m_Name: m_EditorClassIdentifier: - TransformAuthority: 0 - FixedSendsPerSecond: 30 - InterpolatePosition: 1 - SnapDistance: 10 - InterpolateServer: 1 - MinMeters: 0.15 - MinDegrees: 1.5 - MinSize: 0.15 - Channel: 10 - m_UseLocal: - m_InternalValue: 0 + SyncPositionX: 1 + SyncPositionY: 1 + SyncPositionZ: 1 + SyncRotAngleX: 1 + SyncRotAngleY: 1 + SyncRotAngleZ: 1 + SyncScaleX: 1 + SyncScaleY: 1 + SyncScaleZ: 1 + PositionThreshold: 0.001 + RotAngleThreshold: 0.01 + ScaleThreshold: 0.01 + InLocalSpace: 0 + Interpolate: 1 + CanCommitToTransform: 0 --- !u!81 &7678745961864154063 AudioListener: m_ObjectHideFlags: 0 @@ -403,6 +441,18 @@ AudioListener: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 100000} m_Enabled: 0 +--- !u!114 &-8406883944196582507 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100000} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 80d7c879794dfda4687da0e400131852, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &100002 GameObject: m_ObjectHideFlags: 0 diff --git a/Basic/2DSpaceShooter/Assets/Scenes/network.unity b/Basic/2DSpaceShooter/Assets/Scenes/network.unity index 205ebf286..c5003b61b 100644 --- a/Basic/2DSpaceShooter/Assets/Scenes/network.unity +++ b/Basic/2DSpaceShooter/Assets/Scenes/network.unity @@ -772,7 +772,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: DrawOffset: {x: 10, y: 10} - LabelColor: {r: 0, g: 0, b: 0, a: 1} + LabelColor: {r: 1, g: 1, b: 1, a: 1} --- !u!114 &872897446 MonoBehaviour: m_ObjectHideFlags: 0 @@ -859,12 +859,12 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_ProtocolType: 0 - m_MessageBufferSize: 6144 - m_ReciveQueueSize: 128 - m_SendQueueSize: 128 + m_MaximumPacketSize: 1400 + m_MaxPacketQueueSize: 128 m_SendQueueBatchSize: 4096 - m_ServerAddress: 127.0.0.1 - m_ServerPort: 7777 + ConnectionData: + Address: 127.0.0.1 + Port: 7777 --- !u!4 &872897449 Transform: m_ObjectHideFlags: 0 diff --git a/Basic/2DSpaceShooter/Assets/Scripts/NetworkManagerHud.cs b/Basic/2DSpaceShooter/Assets/Scripts/NetworkManagerHud.cs index c5fa7a0c9..be4dcc41f 100644 --- a/Basic/2DSpaceShooter/Assets/Scripts/NetworkManagerHud.cs +++ b/Basic/2DSpaceShooter/Assets/Scripts/NetworkManagerHud.cs @@ -98,13 +98,13 @@ void DrawStatusGUI() if (m_NetworkManager.IsServer) { var mode = m_NetworkManager.IsHost ? "Host" : "Server"; - //GUILayout.Label($"{mode} active on port: {m_Transport.ConnectPort.ToString()}", m_LabelTextStyle); // TODO currently not supported by UTP + GUILayout.Label($"{mode} active on port: {m_Transport.ConnectionData.Port.ToString()}", m_LabelTextStyle); } else { if (m_NetworkManager.IsConnectedClient) { - //GUILayout.Label($"Client connected {m_Transport.ConnectAddress}:{m_Transport.ConnectPort.ToString()}", m_LabelTextStyle); // TODO currently not supported by UTP + GUILayout.Label($"Client connected {m_Transport.ConnectionData.Address}:{m_Transport.ConnectionData.Port.ToString()}", m_LabelTextStyle); } } From 8c50128f392a3bf8a0a91841d62b9fe9f6bb8f0a Mon Sep 17 00:00:00 2001 From: Luke Stampfli Date: Fri, 15 Oct 2021 19:22:38 +0100 Subject: [PATCH 3/3] move camera update to late update --- .../2DSpaceShooter/Assets/Scripts/ShipControl.cs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Basic/2DSpaceShooter/Assets/Scripts/ShipControl.cs b/Basic/2DSpaceShooter/Assets/Scripts/ShipControl.cs index 98d33fdeb..ec64492b4 100644 --- a/Basic/2DSpaceShooter/Assets/Scripts/ShipControl.cs +++ b/Basic/2DSpaceShooter/Assets/Scripts/ShipControl.cs @@ -151,6 +151,17 @@ void Update() } } + void LateUpdate() + { + if (IsLocalPlayer) + { + // center camera.. only if this is MY player! + Vector3 pos = transform.position; + pos.z = -50; + Camera.main.transform.position = pos; + } + } + void UpdateServer() { // energy regen @@ -285,11 +296,6 @@ void UpdateClient() { FireServerRpc(); } - - // center camera.. only if this is MY player! - Vector3 pos = transform.position; - pos.z = -50; - Camera.main.transform.position = pos; } public void AddBuff(Buff.BuffType buff)