using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.Networking;
|
|
|
|
|
|
namespace Multiplayer
|
|
{
|
|
|
|
public class ServerManager : MonoSingleton<ServerManager>
|
|
{
|
|
|
|
[SerializeField]
|
|
private bool StartOnAwake = true;
|
|
|
|
[SerializeField]
|
|
private int Port = 4444;
|
|
|
|
public long Seed;
|
|
|
|
public Dictionary<int, Player> AllPlayers;
|
|
|
|
public NetworkServerSimple Server { get; private set; }
|
|
private LoginManager loginManager;
|
|
private PlayerServerManager playerManager;
|
|
|
|
|
|
|
|
private void Start()
|
|
{
|
|
if (StartOnAwake)
|
|
StartServer();
|
|
}
|
|
|
|
[ContextMenu("Start Server")]
|
|
public void StartServer()
|
|
{
|
|
StartServer(Port);
|
|
}
|
|
|
|
public void StartServer(int Port)
|
|
{
|
|
this.Port = Port;
|
|
AllPlayers = new Dictionary<int, Player>();
|
|
|
|
Server = new NetworkServerSimple();
|
|
Server.Configure(ChannelConfig.DefaultTopology());
|
|
|
|
Debug.Log("Starting Server on " + Port);
|
|
loginManager = new LoginManager(this);
|
|
playerManager = new PlayerServerManager(this);
|
|
|
|
Seed = System.DateTime.Now.Ticks;
|
|
|
|
Server.Listen(Port);
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
if (Server != null)
|
|
Server.Update();
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|