You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.5 KiB

  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEngine;
  5. using UnityEngine.Networking;
  6. namespace Networking.Server {
  7. [CreateAssetMenu(menuName = "Major Project/Networking/ServerObject", order = 150)]
  8. public class ServerObject : ScriptableObject
  9. {
  10. #region Inspector Fields
  11. [Header("Server Settings")]
  12. [SerializeField]
  13. private int Port;
  14. [Header("References")]
  15. [SerializeField]
  16. private ClientList LoginHandler;
  17. public bool useWebSockets;
  18. #endregion Inspector Fields
  19. #region ReadOnly Variables
  20. public NetworkServerSimple server { get; private set;}
  21. #endregion ReadOnly Variables
  22. public void StartServer(int port)
  23. {
  24. LoginHandler.ConnectedClients = new List<ClientData>();
  25. LoginHandler.DisconnectedClients = new List<ClientData>();
  26. Debug.Log("Starting Server on " + port);
  27. server = new NetworkServerSimple();
  28. server.useWebSockets = useWebSockets;
  29. server.Configure(TransportConfigure.CreateConfigure(),32);
  30. LoginHandler.SetUp(this);
  31. server.Listen(port);
  32. }
  33. public void ServerClose()
  34. {
  35. if (server != null)
  36. server.Stop();
  37. }
  38. public void ServerUpdate()
  39. {
  40. if (server != null)
  41. server.Update();
  42. }
  43. }
  44. }