mirror of
https://github.com/misternebula/quantum-space-buddies.git
synced 2025-02-03 17:53:57 +00:00
change assetid to int
This commit is contained in:
parent
49d94e7aaa
commit
bf14f089b2
@ -17,7 +17,7 @@ namespace QuantumUNET.Components
|
||||
public NetworkInstanceId NetId { get; private set; }
|
||||
public NetworkSceneId SceneId => m_SceneId;
|
||||
public QNetworkConnection ClientAuthorityOwner { get; private set; }
|
||||
public NetworkHash128 AssetId => m_AssetId;
|
||||
public int AssetId => m_AssetId;
|
||||
public bool IsLocalPlayer { get; private set; }
|
||||
public short PlayerControllerId { get; private set; } = -1;
|
||||
public QNetworkConnection ConnectionToServer { get; private set; }
|
||||
@ -57,9 +57,9 @@ namespace QuantumUNET.Components
|
||||
internal void RemoveSubIdentity(QNetworkIdentity identityToRemove)
|
||||
=> SubIdentities.Remove(identityToRemove);
|
||||
|
||||
internal void SetDynamicAssetId(NetworkHash128 newAssetId)
|
||||
internal void SetDynamicAssetId(int newAssetId)
|
||||
{
|
||||
if (!m_AssetId.IsValid() || m_AssetId.Equals(newAssetId))
|
||||
if (m_AssetId == 0 || m_AssetId.Equals(newAssetId))
|
||||
{
|
||||
m_AssetId = newAssetId;
|
||||
}
|
||||
@ -821,7 +821,7 @@ namespace QuantumUNET.Components
|
||||
private NetworkSceneId m_SceneId;
|
||||
|
||||
[SerializeField]
|
||||
private NetworkHash128 m_AssetId;
|
||||
private int m_AssetId;
|
||||
|
||||
[SerializeField]
|
||||
private bool m_ServerOnly;
|
||||
|
@ -7,7 +7,7 @@ namespace QuantumUNET.Messages
|
||||
internal class QObjectSpawnMessage : QMessageBase
|
||||
{
|
||||
public NetworkInstanceId NetId;
|
||||
public NetworkHash128 assetId;
|
||||
public int assetId;
|
||||
public Vector3 Position;
|
||||
public byte[] Payload;
|
||||
public Quaternion Rotation;
|
||||
@ -24,7 +24,7 @@ namespace QuantumUNET.Messages
|
||||
public override void Deserialize(QNetworkReader reader)
|
||||
{
|
||||
NetId = reader.ReadNetworkId();
|
||||
assetId = reader.ReadNetworkHash128();
|
||||
assetId = reader.ReadInt32();
|
||||
Position = reader.ReadVector3();
|
||||
Payload = reader.ReadBytesAndSize();
|
||||
if (reader.Length - reader.Position >= 16U)
|
||||
|
@ -3,5 +3,5 @@ using UnityEngine.Networking;
|
||||
|
||||
namespace QuantumUNET
|
||||
{
|
||||
public delegate GameObject QSpawnDelegate(Vector3 position, NetworkHash128 assetId);
|
||||
public delegate GameObject QSpawnDelegate(Vector3 position, int assetId);
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ namespace QuantumUNET
|
||||
|
||||
public static Dictionary<NetworkInstanceId, QNetworkIdentity> Objects => s_NetworkScene.localObjects;
|
||||
|
||||
public static Dictionary<NetworkHash128, GameObject> Prefabs => QNetworkScene.guidToPrefab;
|
||||
public static Dictionary<int, GameObject> Prefabs => QNetworkScene.guidToPrefab;
|
||||
|
||||
public static Dictionary<NetworkSceneId, QNetworkIdentity> SpawnableObjects { get; private set; }
|
||||
|
||||
@ -305,7 +305,7 @@ namespace QuantumUNET
|
||||
client.RegisterHandlerSafe(QMsgType.AnimationTrigger, QNetworkAnimator.OnAnimationTriggerClientMessage);
|
||||
}
|
||||
|
||||
internal static string GetStringForAssetId(NetworkHash128 assetId)
|
||||
internal static string GetStringForAssetId(int assetId)
|
||||
{
|
||||
if (QNetworkScene.GetPrefab(assetId, out var gameObject))
|
||||
{
|
||||
@ -317,7 +317,7 @@ namespace QuantumUNET
|
||||
: "unknown";
|
||||
}
|
||||
|
||||
public static void RegisterPrefab(GameObject prefab, NetworkHash128 newAssetId) => QNetworkScene.RegisterPrefab(prefab, newAssetId);
|
||||
public static void RegisterPrefab(GameObject prefab, int newAssetId) => QNetworkScene.RegisterPrefab(prefab, newAssetId);
|
||||
|
||||
public static void RegisterPrefab(GameObject prefab) => QNetworkScene.RegisterPrefab(prefab);
|
||||
|
||||
@ -325,9 +325,9 @@ namespace QuantumUNET
|
||||
|
||||
public static void UnregisterPrefab(GameObject prefab) => QNetworkScene.UnregisterPrefab(prefab);
|
||||
|
||||
public static void RegisterSpawnHandler(NetworkHash128 assetId, QSpawnDelegate spawnHandler, UnSpawnDelegate unspawnHandler) => QNetworkScene.RegisterSpawnHandler(assetId, spawnHandler, unspawnHandler);
|
||||
public static void RegisterSpawnHandler(int assetId, QSpawnDelegate spawnHandler, UnSpawnDelegate unspawnHandler) => QNetworkScene.RegisterSpawnHandler(assetId, spawnHandler, unspawnHandler);
|
||||
|
||||
public static void UnregisterSpawnHandler(NetworkHash128 assetId) => QNetworkScene.UnregisterSpawnHandler(assetId);
|
||||
public static void UnregisterSpawnHandler(int assetId) => QNetworkScene.UnregisterSpawnHandler(assetId);
|
||||
|
||||
public static void ClearSpawners() => QNetworkScene.ClearSpawners();
|
||||
|
||||
@ -367,7 +367,7 @@ namespace QuantumUNET
|
||||
private static void OnObjectSpawn(QNetworkMessage netMsg)
|
||||
{
|
||||
netMsg.ReadMessage(s_ObjectSpawnMessage);
|
||||
if (!s_ObjectSpawnMessage.assetId.IsValid())
|
||||
if (s_ObjectSpawnMessage.assetId == 0)
|
||||
{
|
||||
Debug.LogError($"OnObjSpawn netId: {s_ObjectSpawnMessage.NetId} has invalid asset Id. {s_ObjectSpawnMessage.assetId}");
|
||||
}
|
||||
|
@ -7,9 +7,9 @@ namespace QuantumUNET
|
||||
{
|
||||
internal class QNetworkScene
|
||||
{
|
||||
internal static Dictionary<NetworkHash128, GameObject> guidToPrefab { get; } = new Dictionary<NetworkHash128, GameObject>();
|
||||
internal static Dictionary<NetworkHash128, QSpawnDelegate> spawnHandlers { get; } = new Dictionary<NetworkHash128, QSpawnDelegate>();
|
||||
internal static Dictionary<NetworkHash128, UnSpawnDelegate> unspawnHandlers { get; } = new Dictionary<NetworkHash128, UnSpawnDelegate>();
|
||||
internal static Dictionary<int, GameObject> guidToPrefab { get; } = new Dictionary<int, GameObject>();
|
||||
internal static Dictionary<int, QSpawnDelegate> spawnHandlers { get; } = new Dictionary<int, QSpawnDelegate>();
|
||||
internal static Dictionary<int, UnSpawnDelegate> unspawnHandlers { get; } = new Dictionary<int, UnSpawnDelegate>();
|
||||
internal Dictionary<NetworkInstanceId, QNetworkIdentity> localObjects { get; } = new Dictionary<NetworkInstanceId, QNetworkIdentity>();
|
||||
|
||||
internal void Shutdown()
|
||||
@ -96,7 +96,7 @@ namespace QuantumUNET
|
||||
internal void ClearLocalObjects()
|
||||
=> localObjects.Clear();
|
||||
|
||||
internal static void RegisterPrefab(GameObject prefab, NetworkHash128 newAssetId)
|
||||
internal static void RegisterPrefab(GameObject prefab, int newAssetId)
|
||||
{
|
||||
var component = prefab.GetComponent<QNetworkIdentity>();
|
||||
if (component)
|
||||
@ -129,10 +129,10 @@ namespace QuantumUNET
|
||||
}
|
||||
}
|
||||
|
||||
internal static bool GetPrefab(NetworkHash128 assetId, out GameObject prefab)
|
||||
internal static bool GetPrefab(int assetId, out GameObject prefab)
|
||||
{
|
||||
bool result;
|
||||
if (!assetId.IsValid())
|
||||
if (assetId == 0)
|
||||
{
|
||||
prefab = null;
|
||||
result = false;
|
||||
@ -158,13 +158,13 @@ namespace QuantumUNET
|
||||
unspawnHandlers.Clear();
|
||||
}
|
||||
|
||||
public static void UnregisterSpawnHandler(NetworkHash128 assetId)
|
||||
public static void UnregisterSpawnHandler(int assetId)
|
||||
{
|
||||
spawnHandlers.Remove(assetId);
|
||||
unspawnHandlers.Remove(assetId);
|
||||
}
|
||||
|
||||
internal static void RegisterSpawnHandler(NetworkHash128 assetId, QSpawnDelegate spawnHandler, UnSpawnDelegate unspawnHandler)
|
||||
internal static void RegisterSpawnHandler(int assetId, QSpawnDelegate spawnHandler, UnSpawnDelegate unspawnHandler)
|
||||
{
|
||||
if (spawnHandler == null || unspawnHandler == null)
|
||||
{
|
||||
@ -202,7 +202,7 @@ namespace QuantumUNET
|
||||
{
|
||||
Debug.LogError($"RegisterPrefab custom spawn function null for {component.AssetId}");
|
||||
}
|
||||
else if (!component.AssetId.IsValid())
|
||||
else if (component.AssetId == 0)
|
||||
{
|
||||
Debug.LogError($"RegisterPrefab game object {prefab.name} has no prefab. Use RegisterSpawnHandler() instead?");
|
||||
}
|
||||
@ -213,7 +213,7 @@ namespace QuantumUNET
|
||||
}
|
||||
}
|
||||
|
||||
internal static bool GetSpawnHandler(NetworkHash128 assetId, out QSpawnDelegate handler)
|
||||
internal static bool GetSpawnHandler(int assetId, out QSpawnDelegate handler)
|
||||
{
|
||||
bool result;
|
||||
if (spawnHandlers.ContainsKey(assetId))
|
||||
@ -230,7 +230,7 @@ namespace QuantumUNET
|
||||
return result;
|
||||
}
|
||||
|
||||
internal static bool InvokeUnSpawnHandler(NetworkHash128 assetId, GameObject obj)
|
||||
internal static bool InvokeUnSpawnHandler(int assetId, GameObject obj)
|
||||
{
|
||||
bool result;
|
||||
if (unspawnHandlers.ContainsKey(assetId) && unspawnHandlers[assetId] != null)
|
||||
|
@ -1018,7 +1018,7 @@ namespace QuantumUNET
|
||||
|
||||
if (conn != null)
|
||||
{
|
||||
conn.Send(3, objectSpawnMessage);
|
||||
conn.Send(QMsgType.ObjectSpawn, objectSpawnMessage);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1209,14 +1209,14 @@ namespace QuantumUNET
|
||||
return result;
|
||||
}
|
||||
|
||||
public static bool SpawnWithClientAuthority(GameObject obj, NetworkHash128 assetId, QNetworkConnection conn)
|
||||
public static bool SpawnWithClientAuthority(GameObject obj, int assetId, QNetworkConnection conn)
|
||||
{
|
||||
Spawn(obj, assetId);
|
||||
var component = obj.GetComponent<QNetworkIdentity>();
|
||||
return !(component == null) && component.IsServer && component.AssignClientAuthority(conn);
|
||||
}
|
||||
|
||||
public static void Spawn(GameObject obj, NetworkHash128 assetId)
|
||||
public static void Spawn(GameObject obj, int assetId)
|
||||
{
|
||||
if (VerifyCanSpawn(obj))
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user