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;
|
|
|
|
[Header("References")]
|
|
[SerializeField]
|
|
private ClientList LoginHandler;
|
|
|
|
public bool useWebSockets;
|
|
|
|
#endregion Inspector Fields
|
|
|
|
|
|
#region ReadOnly Variables
|
|
public NetworkServerSimple server { get; private set;}
|
|
#endregion ReadOnly Variables
|
|
|
|
|
|
public void StartServer(int port)
|
|
{
|
|
LoginHandler.ConnectedClients = new List<ClientData>();
|
|
LoginHandler.DisconnectedClients = new List<ClientData>();
|
|
//Debug.Log("Starting Server on " + port);
|
|
server = new NetworkServerSimple();
|
|
server.useWebSockets = useWebSockets;
|
|
|
|
server.Configure(TransportConfigure.CreateConfigure(),32);
|
|
|
|
LoginHandler.SetUp(this);
|
|
server.Listen(port);
|
|
}
|
|
|
|
public void ServerClose()
|
|
{
|
|
if (server != null)
|
|
server.Stop();
|
|
}
|
|
|
|
public void ServerUpdate()
|
|
{
|
|
if (server != null)
|
|
server.Update();
|
|
}
|
|
}
|
|
}
|