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 c8eafc09c..c5003b61b 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 @@ -797,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 @@ -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_MaximumPacketSize: 1400 + m_MaxPacketQueueSize: 128 + m_SendQueueBatchSize: 4096 + ConnectionData: + Address: 127.0.0.1 + Port: 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..be4dcc41f 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.ConnectionData.Port.ToString()}", m_LabelTextStyle); } else { if (m_NetworkManager.IsConnectedClient) { - GUILayout.Label($"Client connected {m_Transport.ConnectAddress}:{m_Transport.ConnectPort.ToString()}", m_LabelTextStyle); + GUILayout.Label($"Client connected {m_Transport.ConnectionData.Address}:{m_Transport.ConnectionData.Port.ToString()}", m_LabelTextStyle); } } - 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..ec64492b4 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() @@ -167,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 @@ -301,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) @@ -424,7 +414,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 +429,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 +447,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": "" + } +}