|
|
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.Networking;
-
- namespace Networking.Server {
-
- [CreateAssetMenu(menuName = "Major Project/Networking/ServerObject", order = 150)]
- public class ServerObject : ScriptableObject
- {
-
- #region Inspector Fields
-
- [Header("Server Settings")]
- [SerializeField]
- private int Port;
-
- [SerializeField]
- private bool useWebSockets;
-
- [SerializeField]
- private int webPort;
-
- [Header("References")]
- [SerializeField]
- private ClientList LoginHandler;
-
-
-
- #endregion Inspector Fields
-
-
- #region ReadOnly Variables
- public NetworkServerSimple server { get; private set;}
- private NetworkServerSimple webServer;
-
- #endregion ReadOnly Variables
-
-
- public void StartServer()
- {
- LoginHandler.ConnectedClients = new List<ClientData>();
- LoginHandler.DisconnectedClients = new List<ClientData>();
- //Debug.Log("Starting Server on " + port);
- server = new NetworkServerSimple();
- server.Configure(TransportConfigure.CreateConfigure(),32);
-
- if (useWebSockets)
- {
- webServer = new NetworkServerSimple();
- webServer.useWebSockets = true;
- webServer.Configure(TransportConfigure.CreateConfigure(), 32);
- }
-
- LoginHandler.SetUp(this);
- server.Listen(Port);
- webServer.Listen(webPort);
- }
-
- public void ServerClose()
- {
- if (server != null)
- server.Stop();
-
- if (webServer != null)
- webServer.Stop();
- }
-
- public void ServerUpdate()
- {
- if (server != null)
- server.Update();
-
- if (webServer != null)
- webServer.Update();
- }
-
- public void RegisterHandler(short msgType,NetworkMessageDelegate handler)
- {
- if (server != null)
- server.RegisterHandler(msgType, handler);
-
- if (webServer != null)
- webServer.RegisterHandler(msgType, handler);
-
- }
-
- public void UnregisterHandler(short msgType)
- {
- if (server != null)
- server.UnregisterHandler(msgType);
-
- if (webServer != null)
- webServer.UnregisterHandler(msgType);
- }
-
- public void DisconnectAllConnections()
- {
- if (server != null)
- server.DisconnectAllConnections();
-
- if (webServer != null)
- webServer.DisconnectAllConnections();
- }
- }
- }
|