public NetworkEntityProcessor() { _networkMessageWriter = new NetworkMessageWriter(new LiteNetLib.Utils.NetDataWriter()); _serverPlayerManager = new ServerPlayerManager(4, this); _clientPlayerManager = new ClientPlayerManager(this); Order = -20000; // Ensure this occurs before other processors // Not using Enabled property, because that completely disables the processor, where it doesn't even pick up newly added entities IsEnabled = true; }
private void Awake() { if (singleton == null) { singleton = this; } else if (singleton != this) { Destroy(this); } }
public void Handle(DisconnectFlowServerPackage package) { Logger.Log(package.message); if (package.clientId == FlowClient.id) { ClientPlayerManager.RemovePlayerPrefab(); } else { ClientPlayerManager.RemoveEnemyPrefab(package.clientId); } }
private void Handle(SpawnFlowServerPackage package) { if (package.clientId == FlowClient.id) { GameObject prefab = Instantiate(References.defaults.PLAYER_PREFAB, package.position, package.rotation);; ClientPlayerManager.AddPlayerPrefab(prefab); } else { GameObject prefab = Instantiate(References.defaults.ENEMY_PREFAB, package.position, package.rotation); ClientPlayerManager.AddEnemyPrefab(prefab, package.clientId); } }
public void StartAcceptClient() { if (_isFirstStartServer) { _isFirstStartServer = false; TcpConnection connection = new TcpConnection("0.0.0.0", this.port, true); serverAcceptWorker = new ServerAcceptWorker(connection); serverDetailWorker = new ServerDetailWorker(); } stop = false; playerManager = new ClientPlayerManager(); sceneManager = new ClientSceneManager(); entityManager = new ClientEntityManager(); serverAcceptWorker.Start(); serverDetailWorker.Start(); StartCoroutine(HandleNewConn()); EventManager.SendEvent(NetEventMacro.ON_SERVER_START, "127.0.0.1", this.port); }
void Awake() { Instance = this; }