This commit is contained in:
Mister_Nebula 2020-12-15 16:37:52 +00:00
parent a657c5ee6c
commit 9f4d886903
52 changed files with 152 additions and 228 deletions

View File

@ -1,5 +1,5 @@
using QSB.Messaging;
using QuantumUNET;
using QuantumUNET.Transport;
namespace QSB.ConversationSync.Events
{

View File

@ -1,5 +1,5 @@
using QSB.Messaging;
using QuantumUNET;
using QuantumUNET.Transport;
namespace QSB.ConversationSync.Events
{

View File

@ -1,5 +1,5 @@
using QSB.Messaging;
using QuantumUNET;
using QuantumUNET.Transport;
namespace QSB.DialogueConditionSync.Events
{

View File

@ -1,4 +1,4 @@
using QuantumUNET;
using QuantumUNET.Transport;
namespace QSB.Messaging
{

View File

@ -1,4 +1,4 @@
using QuantumUNET;
using QuantumUNET.Transport;
namespace QSB.Messaging
{

View File

@ -1,5 +1,5 @@
using QuantumUNET;
using QuantumUNET.Messages;
using QuantumUNET.Messages;
using QuantumUNET.Transport;
namespace QSB.Messaging
{

View File

@ -1,4 +1,4 @@
using QuantumUNET;
using QuantumUNET.Transport;
namespace QSB.Messaging
{

View File

@ -1,5 +1,5 @@
using QSB.Messaging;
using QuantumUNET;
using QuantumUNET.Transport;
namespace QSB.OrbSync.Events
{

View File

@ -1,5 +1,5 @@
using QSB.Messaging;
using QuantumUNET;
using QuantumUNET.Transport;
namespace QSB.Player.Events
{

View File

@ -1,5 +1,5 @@
using QSB.Messaging;
using QuantumUNET;
using QuantumUNET.Transport;
namespace QSB.Player.Events
{

View File

@ -1,5 +1,5 @@
using QSB.Messaging;
using QuantumUNET;
using QuantumUNET.Transport;
namespace QSB.TimeSync.Events
{

View File

@ -1,4 +1,4 @@
using QuantumUNET;
using QuantumUNET.Transport;
namespace QSB.WorldSync.Events
{

View File

@ -1,5 +1,5 @@
using QSB.Messaging;
using QuantumUNET;
using QuantumUNET.Transport;
namespace QSB.WorldSync.Events
{

View File

@ -1,4 +1,5 @@
using QuantumUNET.Messages;
using QuantumUNET.Transport;
using UnityEngine;
namespace QuantumUNET.Components

View File

@ -1,5 +1,6 @@
using OWML.Logging;
using QuantumUNET.Messages;
using QuantumUNET.Transport;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

View File

@ -176,26 +176,17 @@ namespace QuantumUNET.Components
{
if (!QSBNetworkServer.Listen(serverBindAddress, networkPort))
{
if (LogFilter.logError)
{
Debug.LogError("StartServer listen on " + serverBindAddress + " failed.");
}
Debug.LogError("StartServer listen on " + serverBindAddress + " failed.");
return false;
}
}
else if (!QSBNetworkServer.Listen(networkPort))
{
if (LogFilter.logError)
{
Debug.LogError("StartServer listen failed.");
}
Debug.LogError("StartServer listen failed.");
return false;
}
RegisterServerMessages();
if (LogFilter.logDebug)
{
Debug.Log("NetworkManager StartServer port:" + networkPort);
}
Debug.Log("NetworkManager StartServer port:" + networkPort);
isNetworkActive = true;
var name = SceneManager.GetSceneAt(0).name;
if (!string.IsNullOrEmpty(onlineScene) && onlineScene != name && onlineScene != offlineScene)
@ -363,10 +354,7 @@ namespace QuantumUNET.Components
private QSBNetworkClient ConnectLocalClient()
{
if (LogFilter.logDebug)
{
Debug.Log("NetworkManager StartHost port:" + networkPort);
}
Debug.Log("NetworkManager StartHost port:" + networkPort);
networkAddress = "localhost";
client = QSBClientScene.ConnectLocalServer();
RegisterClientMessages(client);
@ -385,10 +373,7 @@ namespace QuantumUNET.Components
if (QSBNetworkServer.active)
{
OnStopServer();
if (LogFilter.logDebug)
{
Debug.Log("NetworkManager StopServer");
}
Debug.Log("NetworkManager StopServer");
isNetworkActive = false;
QSBNetworkServer.Shutdown();
if (!string.IsNullOrEmpty(offlineScene))
@ -402,10 +387,7 @@ namespace QuantumUNET.Components
public void StopClient()
{
OnStopClient();
if (LogFilter.logDebug)
{
Debug.Log("NetworkManager StopClient");
}
Debug.Log("NetworkManager StopClient");
isNetworkActive = false;
if (client != null)
{
@ -425,17 +407,11 @@ namespace QuantumUNET.Components
{
if (string.IsNullOrEmpty(newSceneName))
{
if (LogFilter.logError)
{
Debug.LogError("ServerChangeScene empty scene name");
}
Debug.LogError("ServerChangeScene empty scene name");
}
else
{
if (LogFilter.logDebug)
{
Debug.Log("ServerChangeScene " + newSceneName);
}
Debug.Log("ServerChangeScene " + newSceneName);
QSBNetworkServer.SetAllClientsNotReady();
networkSceneName = newSceneName;
s_LoadingSceneAsync = SceneManager.LoadSceneAsync(newSceneName);
@ -456,17 +432,11 @@ namespace QuantumUNET.Components
{
if (string.IsNullOrEmpty(newSceneName))
{
if (LogFilter.logError)
{
Debug.LogError("ClientChangeScene empty scene name");
}
Debug.LogError("ClientChangeScene empty scene name");
}
else
{
if (LogFilter.logDebug)
{
Debug.Log("ClientChangeScene newSceneName:" + newSceneName + " networkSceneName:" + networkSceneName);
}
Debug.Log("ClientChangeScene newSceneName:" + newSceneName + " networkSceneName:" + networkSceneName);
if (newSceneName == networkSceneName)
{
if (!forceReload)
@ -538,10 +508,7 @@ namespace QuantumUNET.Components
internal void OnServerConnectInternal(QSBNetworkMessage netMsg)
{
if (LogFilter.logDebug)
{
Debug.Log("NetworkManager:OnServerConnectInternal");
}
Debug.Log("NetworkManager:OnServerConnectInternal");
netMsg.Connection.SetMaxDelay(maxDelay);
if (m_MaxBufferedPackets != 512)
{
@ -567,28 +534,19 @@ namespace QuantumUNET.Components
internal void OnServerDisconnectInternal(QSBNetworkMessage netMsg)
{
if (LogFilter.logDebug)
{
Debug.Log("NetworkManager:OnServerDisconnectInternal");
}
Debug.Log("NetworkManager:OnServerDisconnectInternal");
OnServerDisconnect(netMsg.Connection);
}
internal void OnServerReadyMessageInternal(QSBNetworkMessage netMsg)
{
if (LogFilter.logDebug)
{
Debug.Log("NetworkManager:OnServerReadyMessageInternal");
}
Debug.Log("NetworkManager:OnServerReadyMessageInternal");
OnServerReady(netMsg.Connection);
}
internal void OnServerAddPlayerMessageInternal(QSBNetworkMessage netMsg)
{
if (LogFilter.logDebug)
{
Debug.Log("NetworkManager:OnServerAddPlayerMessageInternal");
}
Debug.Log("NetworkManager:OnServerAddPlayerMessageInternal");
netMsg.ReadMessage<QSBAddPlayerMessage>(s_AddPlayerMessage);
if (s_AddPlayerMessage.msgSize != 0)
{
@ -603,10 +561,7 @@ namespace QuantumUNET.Components
internal void OnServerRemovePlayerMessageInternal(QSBNetworkMessage netMsg)
{
if (LogFilter.logDebug)
{
Debug.Log("NetworkManager:OnServerRemovePlayerMessageInternal");
}
Debug.Log("NetworkManager:OnServerRemovePlayerMessageInternal");
netMsg.ReadMessage<QSBRemovePlayerMessage>(s_RemovePlayerMessage);
netMsg.Connection.GetPlayerController(s_RemovePlayerMessage.PlayerControllerId, out var player);
OnServerRemovePlayer(netMsg.Connection, player);
@ -615,20 +570,14 @@ namespace QuantumUNET.Components
internal void OnServerErrorInternal(QSBNetworkMessage netMsg)
{
if (LogFilter.logDebug)
{
Debug.Log("NetworkManager:OnServerErrorInternal");
}
Debug.Log("NetworkManager:OnServerErrorInternal");
netMsg.ReadMessage<QSBErrorMessage>(s_ErrorMessage);
OnServerError(netMsg.Connection, s_ErrorMessage.errorCode);
}
internal void OnClientConnectInternal(QSBNetworkMessage netMsg)
{
if (LogFilter.logDebug)
{
Debug.Log("NetworkManager:OnClientConnectInternal");
}
Debug.Log("NetworkManager:OnClientConnectInternal");
netMsg.Connection.SetMaxDelay(maxDelay);
var name = SceneManager.GetSceneAt(0).name;
if (string.IsNullOrEmpty(onlineScene) || onlineScene == offlineScene || name == onlineScene)
@ -644,10 +593,7 @@ namespace QuantumUNET.Components
internal void OnClientDisconnectInternal(QSBNetworkMessage netMsg)
{
if (LogFilter.logDebug)
{
Debug.Log("NetworkManager:OnClientDisconnectInternal");
}
Debug.Log("NetworkManager:OnClientDisconnectInternal");
if (!string.IsNullOrEmpty(offlineScene))
{
ClientChangeScene(offlineScene, false);
@ -657,30 +603,21 @@ namespace QuantumUNET.Components
internal void OnClientNotReadyMessageInternal(QSBNetworkMessage netMsg)
{
if (LogFilter.logDebug)
{
Debug.Log("NetworkManager:OnClientNotReadyMessageInternal");
}
Debug.Log("NetworkManager:OnClientNotReadyMessageInternal");
QSBClientScene.SetNotReady();
OnClientNotReady(netMsg.Connection);
}
internal void OnClientErrorInternal(QSBNetworkMessage netMsg)
{
if (LogFilter.logDebug)
{
Debug.Log("NetworkManager:OnClientErrorInternal");
}
Debug.Log("NetworkManager:OnClientErrorInternal");
netMsg.ReadMessage<QSBErrorMessage>(s_ErrorMessage);
OnClientError(netMsg.Connection, s_ErrorMessage.errorCode);
}
internal void OnClientSceneInternal(QSBNetworkMessage netMsg)
{
if (LogFilter.logDebug)
{
Debug.Log("NetworkManager:OnClientSceneInternal");
}
Debug.Log("NetworkManager:OnClientSceneInternal");
var newSceneName = netMsg.Reader.ReadString();
if (IsClientConnected() && !QSBNetworkServer.active)
{
@ -697,10 +634,7 @@ namespace QuantumUNET.Components
QSBNetworkServer.DestroyPlayersForConnection(conn);
if (conn.LastError != NetworkError.Ok)
{
if (LogFilter.logError)
{
Debug.LogError("ServerDisconnected due to error: " + conn.LastError);
}
Debug.LogError("ServerDisconnected due to error: " + conn.LastError);
}
}
@ -708,10 +642,7 @@ namespace QuantumUNET.Components
{
if (conn.PlayerControllers.Count == 0)
{
if (LogFilter.logDebug)
{
Debug.Log("Ready with no player object");
}
Debug.Log("Ready with no player object");
}
QSBNetworkServer.SetClientReady(conn);
}
@ -724,24 +655,15 @@ namespace QuantumUNET.Components
{
if (playerPrefab == null)
{
if (LogFilter.logError)
{
ModConsole.OwmlConsole.WriteLine("Error - The PlayerPrefab is empty on the QSBNetworkManager. Please setup a PlayerPrefab object.");
}
ModConsole.OwmlConsole.WriteLine("Error - The PlayerPrefab is empty on the QSBNetworkManager. Please setup a PlayerPrefab object.");
}
else if (playerPrefab.GetComponent<QSBNetworkIdentity>() == null)
{
if (LogFilter.logError)
{
ModConsole.OwmlConsole.WriteLine("Error - The PlayerPrefab does not have a QSBNetworkIdentity. Please add a QSBNetworkIdentity to the player prefab.");
}
ModConsole.OwmlConsole.WriteLine("Error - The PlayerPrefab does not have a QSBNetworkIdentity. Please add a QSBNetworkIdentity to the player prefab.");
}
else if (playerControllerId < conn.PlayerControllers.Count && conn.PlayerControllers[playerControllerId].IsValid && conn.PlayerControllers[playerControllerId].Gameobject != null)
{
if (LogFilter.logError)
{
ModConsole.OwmlConsole.WriteLine("Warning - There is already a player at that playerControllerId for this connections.");
}
ModConsole.OwmlConsole.WriteLine("Warning - There is already a player at that playerControllerId for this connections.");
}
else
{
@ -783,10 +705,7 @@ namespace QuantumUNET.Components
StopClient();
if (conn.LastError != NetworkError.Ok)
{
if (LogFilter.logError)
{
Debug.LogError("ClientDisconnected due to error: " + conn.LastError);
}
Debug.LogError("ClientDisconnected due to error: " + conn.LastError);
}
}

View File

@ -1,5 +1,6 @@
using OWML.Logging;
using QuantumUNET.Messages;
using QuantumUNET.Transport;
using UnityEngine;
using UnityEngine.Networking;
@ -8,33 +9,19 @@ namespace QuantumUNET.Components
public class QSBNetworkTransform : QSBNetworkBehaviour
{
public float SendInterval { get; set; } = 0.1f;
public AxisSyncMode SyncRotationAxis { get; set; } = AxisSyncMode.AxisXYZ;
public CompressionSyncMode RotationSyncCompression { get; set; } = CompressionSyncMode.None;
public bool SyncSpin { get; set; }
public float MovementTheshold { get; set; } = 0.001f;
public float velocityThreshold { get; set; } = 0.0001f;
public float SnapThreshold { get; set; } = 5f;
public float InterpolateRotation { get; set; } = 1f;
public float InterpolateMovement { get; set; } = 1f;
public ClientMoveCallback3D clientMoveCallback3D { get; set; }
public float LastSyncTime { get; private set; }
public Vector3 TargetSyncPosition => m_TargetSyncPosition;
public Vector3 targetSyncVelocity => m_TargetSyncVelocity;
public Quaternion targetSyncRotation3D => m_TargetSyncRotation3D;
public bool Grounded { get; set; } = true;
public void Awake()
@ -241,10 +228,7 @@ namespace QuantumUNET.Components
component.UnserializeModeTransform(netMsg.Reader, false);
component.LastSyncTime = Time.time;
}
else if (LogFilter.logWarn)
{
ModConsole.OwmlConsole.WriteLine("Warning - HandleTransform netId:" + networkInstanceId + " is not for a valid player");
}
ModConsole.OwmlConsole.WriteLine("Warning - HandleTransform netId:" + networkInstanceId + " is not for a valid player");
}
}

View File

@ -1,4 +1,6 @@
namespace QuantumUNET.Messages
using QuantumUNET.Transport;
namespace QuantumUNET.Messages
{
internal class QSBAddPlayerMessage : QSBMessageBase
{

View File

@ -1,4 +1,6 @@
namespace QuantumUNET.Messages
using QuantumUNET.Transport;
namespace QuantumUNET.Messages
{
internal class QSBAnimationMessage : QSBMessageBase
{

View File

@ -1,4 +1,6 @@
namespace QuantumUNET.Messages
using QuantumUNET.Transport;
namespace QuantumUNET.Messages
{
internal class QSBAnimationParametersMessage : QSBMessageBase
{

View File

@ -1,4 +1,6 @@
namespace QuantumUNET.Messages
using QuantumUNET.Transport;
namespace QuantumUNET.Messages
{
internal class QSBAnimationTriggerMessage : QSBMessageBase
{

View File

@ -1,4 +1,6 @@
namespace QuantumUNET.Messages
using QuantumUNET.Transport;
namespace QuantumUNET.Messages
{
internal class QSBCRCMessage : QSBMessageBase
{

View File

@ -1,4 +1,6 @@
namespace QuantumUNET.Messages
using QuantumUNET.Transport;
namespace QuantumUNET.Messages
{
internal class QSBClientAuthorityMessage : QSBMessageBase
{

View File

@ -1,4 +1,6 @@
namespace QuantumUNET.Messages
using QuantumUNET.Transport;
namespace QuantumUNET.Messages
{
public class QSBEmptyMessage : QSBMessageBase
{

View File

@ -1,4 +1,6 @@
namespace QuantumUNET.Messages
using QuantumUNET.Transport;
namespace QuantumUNET.Messages
{
public class QSBErrorMessage : QSBMessageBase
{

View File

@ -1,4 +1,6 @@
namespace QuantumUNET.Messages
using QuantumUNET.Transport;
namespace QuantumUNET.Messages
{
public abstract class QSBMessageBase
{

View File

@ -1,4 +1,5 @@
using System;
using QuantumUNET.Transport;
using System;
namespace QuantumUNET.Messages
{

View File

@ -1,4 +1,6 @@
namespace QuantumUNET.Messages
using QuantumUNET.Transport;
namespace QuantumUNET.Messages
{
internal class QSBObjectDestroyMessage : QSBMessageBase
{

View File

@ -1,4 +1,6 @@
namespace QuantumUNET.Messages
using QuantumUNET.Transport;
namespace QuantumUNET.Messages
{
internal class QSBObjectSpawnFinishedMessage : QSBMessageBase
{

View File

@ -1,4 +1,5 @@
using UnityEngine;
using QuantumUNET.Transport;
using UnityEngine;
namespace QuantumUNET.Messages
{

View File

@ -1,4 +1,5 @@
using UnityEngine;
using QuantumUNET.Transport;
using UnityEngine;
namespace QuantumUNET.Messages
{

View File

@ -1,4 +1,6 @@
namespace QuantumUNET.Messages
using QuantumUNET.Transport;
namespace QuantumUNET.Messages
{
internal class QSBOwnerMessage : QSBMessageBase
{

View File

@ -1,4 +1,6 @@
namespace QuantumUNET.Messages
using QuantumUNET.Transport;
namespace QuantumUNET.Messages
{
public class QSBRemovePlayerMessage : QSBMessageBase
{

View File

@ -0,0 +1,6 @@
using UnityEngine;
namespace QuantumUNET
{
public delegate GameObject QSBSpawnDelegate(Vector3 position, QSBNetworkHash128 assetId);
}

View File

@ -1,4 +1,6 @@
namespace QuantumUNET.Messages
using QuantumUNET.Transport;
namespace QuantumUNET.Messages
{
public class QSBStringMessage : QSBMessageBase
{

View File

@ -1,5 +1,6 @@
using QuantumUNET.Components;
using QuantumUNET.Messages;
using QuantumUNET.Transport;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
@ -102,24 +103,18 @@ namespace QuantumUNET
bool result;
if (playerControllerId < 0)
{
if (LogFilter.logError)
{
Debug.LogError("ClientScene::AddPlayer: playerControllerId of " + playerControllerId + " is negative");
}
Debug.LogError("ClientScene::AddPlayer: playerControllerId of " + playerControllerId + " is negative");
result = false;
}
else if (playerControllerId > 32)
{
if (LogFilter.logError)
Debug.LogError(string.Concat(new object[]
{
Debug.LogError(string.Concat(new object[]
{
"ClientScene::AddPlayer: playerControllerId of ",
playerControllerId,
" is too high, max is ",
32
}));
}
}));
result = false;
}
else
@ -381,11 +376,11 @@ namespace QuantumUNET
public static void RegisterPrefab(GameObject prefab) => QSBNetworkScene.RegisterPrefab(prefab);
public static void RegisterPrefab(GameObject prefab, SpawnDelegate spawnHandler, UnSpawnDelegate unspawnHandler) => QSBNetworkScene.RegisterPrefab(prefab, spawnHandler, unspawnHandler);
public static void RegisterPrefab(GameObject prefab, QSBSpawnDelegate spawnHandler, UnSpawnDelegate unspawnHandler) => QSBNetworkScene.RegisterPrefab(prefab, spawnHandler, unspawnHandler);
public static void UnregisterPrefab(GameObject prefab) => QSBNetworkScene.UnregisterPrefab(prefab);
public static void RegisterSpawnHandler(QSBNetworkHash128 assetId, SpawnDelegate spawnHandler, UnSpawnDelegate unspawnHandler) => QSBNetworkScene.RegisterSpawnHandler(assetId, spawnHandler, unspawnHandler);
public static void RegisterSpawnHandler(QSBNetworkHash128 assetId, QSBSpawnDelegate spawnHandler, UnSpawnDelegate unspawnHandler) => QSBNetworkScene.RegisterSpawnHandler(assetId, spawnHandler, unspawnHandler);
public static void UnregisterSpawnHandler(QSBNetworkHash128 assetId) => QSBNetworkScene.UnregisterSpawnHandler(assetId);

View File

@ -1,4 +1,5 @@
using QuantumUNET.Messages;
using QuantumUNET.Transport;
using System.Collections.Generic;
using UnityEngine;

View File

@ -1,5 +1,6 @@
using OWML.Logging;
using QuantumUNET.Components;
using QuantumUNET.Transport;
using System;
using System.Collections.Generic;
using System.Net.Sockets;

View File

@ -1,7 +1,6 @@
using System.Collections.Generic;
using System.Reflection;
using UnityEngine;
using UnityEngine.Networking;
namespace QuantumUNET
{
@ -58,10 +57,7 @@ namespace QuantumUNET
bool result;
if (scripts.Count != remoteScripts.Length)
{
if (LogFilter.logWarn)
{
Debug.LogWarning("Network configuration mismatch detected. The number of networked scripts on the client does not match the number of networked scripts on the server. This could be caused by lazy loading of scripts on the client. This warning can be disabled by the checkbox in NetworkManager Script CRC Check.");
}
Debug.LogWarning("Network configuration mismatch detected. The number of networked scripts on the client does not match the number of networked scripts on the server. This could be caused by lazy loading of scripts on the client. This warning can be disabled by the checkbox in NetworkManager Script CRC Check.");
Dump(remoteScripts);
result = false;
}
@ -69,49 +65,40 @@ namespace QuantumUNET
{
foreach (var crcmessageEntry in remoteScripts)
{
if (LogFilter.logDebug)
Debug.Log(string.Concat(new object[]
{
Debug.Log(string.Concat(new object[]
{
"Script: ",
crcmessageEntry.name,
" Channel: ",
crcmessageEntry.channel
}));
}
"Script: ",
crcmessageEntry.name,
" Channel: ",
crcmessageEntry.channel
}));
if (scripts.ContainsKey(crcmessageEntry.name))
{
var num = scripts[crcmessageEntry.name];
if (num != crcmessageEntry.channel)
{
if (LogFilter.logError)
Debug.LogError(string.Concat(new object[]
{
Debug.LogError(string.Concat(new object[]
{
"HLAPI CRC Channel Mismatch. Script: ",
crcmessageEntry.name,
" LocalChannel: ",
num,
" RemoteChannel: ",
crcmessageEntry.channel
}));
}
"HLAPI CRC Channel Mismatch. Script: ",
crcmessageEntry.name,
" LocalChannel: ",
num,
" RemoteChannel: ",
crcmessageEntry.channel
}));
Dump(remoteScripts);
return false;
}
}
if (crcmessageEntry.channel >= numChannels)
{
if (LogFilter.logError)
Debug.LogError(string.Concat(new object[]
{
Debug.LogError(string.Concat(new object[]
{
"HLAPI CRC channel out of range! Script: ",
crcmessageEntry.name,
" Channel: ",
crcmessageEntry.channel
}));
}
"HLAPI CRC channel out of range! Script: ",
crcmessageEntry.name,
" Channel: ",
crcmessageEntry.channel
}));
Dump(remoteScripts);
return false;
}

View File

@ -1,5 +1,6 @@
using OWML.Logging;
using QuantumUNET.Messages;
using QuantumUNET.Transport;
using System;
using System.Collections.Generic;
using System.Net;

View File

@ -1,6 +1,7 @@
using OWML.Logging;
using QuantumUNET.Components;
using QuantumUNET.Messages;
using QuantumUNET.Transport;
using System;
using System.Collections.Generic;
using System.Text;

View File

@ -9,7 +9,7 @@ namespace QuantumUNET
{
internal static Dictionary<QSBNetworkHash128, GameObject> guidToPrefab { get; } = new Dictionary<QSBNetworkHash128, GameObject>();
internal static Dictionary<QSBNetworkHash128, SpawnDelegate> spawnHandlers { get; } = new Dictionary<QSBNetworkHash128, SpawnDelegate>();
internal static Dictionary<QSBNetworkHash128, QSBSpawnDelegate> spawnHandlers { get; } = new Dictionary<QSBNetworkHash128, QSBSpawnDelegate>();
internal static Dictionary<QSBNetworkHash128, UnSpawnDelegate> unspawnHandlers { get; } = new Dictionary<QSBNetworkHash128, UnSpawnDelegate>();
@ -161,7 +161,7 @@ namespace QuantumUNET
unspawnHandlers.Remove(assetId);
}
internal static void RegisterSpawnHandler(QSBNetworkHash128 assetId, SpawnDelegate spawnHandler, UnSpawnDelegate unspawnHandler)
internal static void RegisterSpawnHandler(QSBNetworkHash128 assetId, QSBSpawnDelegate spawnHandler, UnSpawnDelegate unspawnHandler)
{
if (spawnHandler == null || unspawnHandler == null)
{
@ -194,7 +194,7 @@ namespace QuantumUNET
}
}
internal static void RegisterPrefab(GameObject prefab, SpawnDelegate spawnHandler, UnSpawnDelegate unspawnHandler)
internal static void RegisterPrefab(GameObject prefab, QSBSpawnDelegate spawnHandler, UnSpawnDelegate unspawnHandler)
{
var component = prefab.GetComponent<QSBNetworkIdentity>();
if (component == null)
@ -216,7 +216,7 @@ namespace QuantumUNET
}
}
internal static bool GetSpawnHandler(QSBNetworkHash128 assetId, out SpawnDelegate handler)
internal static bool GetSpawnHandler(QSBNetworkHash128 assetId, out QSBSpawnDelegate handler)
{
bool result;
if (spawnHandlers.ContainsKey(assetId))

View File

@ -1,6 +1,7 @@
using OWML.Logging;
using QuantumUNET.Components;
using QuantumUNET.Messages;
using QuantumUNET.Transport;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

View File

@ -1,4 +1,5 @@
using QuantumUNET.Messages;
using QuantumUNET.Transport;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

View File

@ -1,4 +1,5 @@
using QuantumUNET.Messages;
using QuantumUNET.Transport;
namespace QuantumUNET
{

View File

@ -1,4 +1,5 @@
using QuantumUNET.Messages;
using QuantumUNET.Transport;
using UnityEngine;
using UnityEngine.Networking;

View File

@ -100,8 +100,8 @@
<Compile Include="Messages\QSBAnimationMessage.cs" />
<Compile Include="Messages\QSBAnimationParametersMessage.cs" />
<Compile Include="Messages\QSBAnimationTriggerMessage.cs" />
<Compile Include="QSBChannelBuffer.cs" />
<Compile Include="QSBChannelPacket.cs" />
<Compile Include="Transport\QSBChannelBuffer.cs" />
<Compile Include="Transport\QSBChannelPacket.cs" />
<Compile Include="Messages\QSBClientAuthorityMessage.cs" />
<Compile Include="QSBClientScene.cs" />
<Compile Include="Messages\QSBCRCMessage.cs" />
@ -110,7 +110,7 @@
<Compile Include="Messages\QSBErrorMessage.cs" />
<Compile Include="QSBLocalClient.cs" />
<Compile Include="Messages\QSBMessageBase.cs" />
<Compile Include="QSBNetBuffer.cs" />
<Compile Include="Transport\QSBNetBuffer.cs" />
<Compile Include="Components\QSBNetworkAnimator.cs" />
<Compile Include="QSBNetworkBehaviour.cs" />
<Compile Include="QSBNetworkClient.cs" />
@ -124,13 +124,13 @@
<Compile Include="QSBNetworkHash128.cs" />
<Compile Include="QSBNetworkInstanceId.cs" />
<Compile Include="QSBNetworkMessageHandlers.cs" />
<Compile Include="QSBNetworkReader.cs" />
<Compile Include="Transport\QSBNetworkReader.cs" />
<Compile Include="QSBNetworkScene.cs" />
<Compile Include="QSBNetworkSceneId.cs" />
<Compile Include="QSBNetworkServer.cs" />
<Compile Include="QSBNetworkServerSimple.cs" />
<Compile Include="Components\QSBNetworkTransform.cs" />
<Compile Include="QSBNetworkWriter.cs" />
<Compile Include="Transport\QSBNetworkWriter.cs" />
<Compile Include="Messages\QSBNotReadyMessage.cs" />
<Compile Include="Messages\QSBObjectDestroyMessage.cs" />
<Compile Include="Messages\QSBObjectSpawnFinishedMessage.cs" />
@ -141,6 +141,7 @@
<Compile Include="Messages\QSBReadyMessage.cs" />
<Compile Include="Messages\QSBRemovePlayerMessage.cs" />
<Compile Include="Messages\QSBStringMessage.cs" />
<Compile Include="Messages\QSBSpawnDelegate.cs" />
<Compile Include="QSBULocalConnectionToClient.cs" />
<Compile Include="QSBULocalConnectionToServer.cs" />
</ItemGroup>

View File

@ -4,7 +4,7 @@ using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
namespace QuantumUNET
namespace QuantumUNET.Transport
{
internal class QSBChannelBuffer : IDisposable
{
@ -99,26 +99,17 @@ namespace QuantumUNET
}
else if (!_currentPacket.IsEmpty() || _pendingPackets.Count > 0)
{
if (LogFilter.logError)
{
Debug.LogError("Cannot set MaxPacketSize after sending data.");
}
Debug.LogError("Cannot set MaxPacketSize after sending data.");
result = false;
}
else if (value <= 0)
{
if (LogFilter.logError)
{
Debug.LogError("Cannot set MaxPacketSize less than one.");
}
Debug.LogError("Cannot set MaxPacketSize less than one.");
result = false;
}
else if (value > _maxPacketSize)
{
if (LogFilter.logError)
{
Debug.LogError("Cannot set MaxPacketSize to greater than the existing maximum (" + _maxPacketSize + ").");
}
Debug.LogError("Cannot set MaxPacketSize to greater than the existing maximum (" + _maxPacketSize + ").");
result = false;
}
else

View File

@ -2,7 +2,7 @@
using UnityEngine;
using UnityEngine.Networking;
namespace QuantumUNET
namespace QuantumUNET.Transport
{
internal struct QSBChannelPacket
{

View File

@ -1,7 +1,7 @@
using System;
using UnityEngine;
namespace QuantumUNET
namespace QuantumUNET.Transport
{
internal class QSBNetBuffer
{

View File

@ -5,7 +5,7 @@ using System.Text;
using UnityEngine;
using UnityEngine.Networking;
namespace QuantumUNET
namespace QuantumUNET.Transport
{
public class QSBNetworkReader
{

View File

@ -5,7 +5,7 @@ using System.Text;
using UnityEngine;
using UnityEngine.Networking;
namespace QuantumUNET
namespace QuantumUNET.Transport
{
public class QSBNetworkWriter
{