mirror of
https://github.com/GTA-ASM/SanAndreasUnity
synced 2024-09-20 14:21:55 +00:00
Create NetStatus class
This commit is contained in:
parent
076257b82c
commit
21c5cbfaab
3 changed files with 118 additions and 2 deletions
|
@ -86,14 +86,14 @@ namespace SanAndreasUnity.Net
|
|||
|
||||
public static void CheckIfServerIsStarted() {
|
||||
|
||||
if (NetworkStatus.IsServerStarted ())
|
||||
if (NetStatus.IsServerStarted ())
|
||||
throw new System.Exception ("Server already started");
|
||||
|
||||
}
|
||||
|
||||
public static void CheckIfClientIsStarted() {
|
||||
|
||||
if (!NetworkStatus.IsClientDisconnected ())
|
||||
if (!NetStatus.IsClientDisconnected ())
|
||||
throw new System.Exception ("Client already started");
|
||||
|
||||
}
|
||||
|
|
105
Assets/Scripts/Networking/NetStatus.cs
Normal file
105
Assets/Scripts/Networking/NetStatus.cs
Normal file
|
@ -0,0 +1,105 @@
|
|||
using Mirror;
|
||||
|
||||
namespace SanAndreasUnity.Net
|
||||
{
|
||||
|
||||
public enum NetworkClientStatus
|
||||
{
|
||||
Disconnected = 0,
|
||||
Connecting,
|
||||
Connected
|
||||
|
||||
}
|
||||
|
||||
public enum NetworkServerStatus
|
||||
{
|
||||
Started = 1,
|
||||
Starting = 2,
|
||||
Stopped = 3
|
||||
|
||||
}
|
||||
|
||||
public class NetStatus
|
||||
{
|
||||
|
||||
|
||||
private static bool IsNetworkClientConnecting {
|
||||
get {
|
||||
return NetworkClient.active && !NetworkClient.isConnected;
|
||||
}
|
||||
}
|
||||
|
||||
public static NetworkClientStatus clientStatus {
|
||||
get {
|
||||
if (NetworkClient.isConnected)
|
||||
return NetworkClientStatus.Connected;
|
||||
|
||||
if (IsNetworkClientConnecting)
|
||||
return NetworkClientStatus.Connecting;
|
||||
|
||||
return NetworkClientStatus.Disconnected;
|
||||
}
|
||||
}
|
||||
|
||||
public static NetworkServerStatus serverStatus {
|
||||
get {
|
||||
if (!NetworkServer.active)
|
||||
return NetworkServerStatus.Stopped;
|
||||
|
||||
return NetworkServerStatus.Started;
|
||||
}
|
||||
}
|
||||
|
||||
public static bool IsServerStarted() {
|
||||
return serverStatus == NetworkServerStatus.Started;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Is server active ?
|
||||
/// </summary>
|
||||
public static bool IsServer() {
|
||||
return NetStatus.IsServerStarted ();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Is host active ?
|
||||
/// </summary>
|
||||
public static bool IsHost() {
|
||||
|
||||
if (!NetStatus.IsServer ())
|
||||
return false;
|
||||
|
||||
return NetworkServer.localClientActive;
|
||||
}
|
||||
|
||||
public static bool IsClientConnected() {
|
||||
|
||||
return clientStatus == NetworkClientStatus.Connected;
|
||||
}
|
||||
|
||||
public static bool IsClientConnecting() {
|
||||
|
||||
return clientStatus == NetworkClientStatus.Connecting;
|
||||
}
|
||||
|
||||
public static bool IsClientDisconnected() {
|
||||
|
||||
return clientStatus == NetworkClientStatus.Disconnected;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Is client connected ?
|
||||
/// TODO: This method should be corrected to return: is client active.
|
||||
/// </summary>
|
||||
public static bool IsClient() {
|
||||
return NetStatus.IsClientConnected();
|
||||
}
|
||||
|
||||
public static bool IsClientActive() {
|
||||
return ! NetStatus.IsClientDisconnected ();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
11
Assets/Scripts/Networking/NetStatus.cs.meta
Normal file
11
Assets/Scripts/Networking/NetStatus.cs.meta
Normal file
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: cfc1fbefe001f4addb0d7358d8ac7312
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Loading…
Reference in a new issue