private void StartGameServer() { for (var i = 0; i < Platforms.Length; i++) { Platforms[i] = Spawner.SpawnPlatformMultiplayer(ref _platformContainer); } for (var i = 0; i < _walls.Length; i++) { _walls[i] = Spawner.SpawnWall(ref _wallsContainer); } CalculateStartPositions(); _ball = Spawner.SpawnBallMultiplayer(ref _ballContainer); _movementController = new MovementController(new Platform[1] { Platforms[0] }, _camera, _horizontalSize); _clientMovementController = new ClientMovementController(new Platform[1] { Platforms[1] }, _camera, _horizontalSize); _gameEndedController = new GameEndedController(_ball, _verticalSize); _gameEndedController.BallRealesed += RespawnBall; }
private void EndGameServer() { _movementController?.GameEnded(); _clientMovementController?.GameEnded(); _gameEndedController?.GameEnded(); _movementController = null; _clientMovementController = null; _gameEndedController = null; for (var i = 0; i < _walls.Length; i++) { if (_walls[i] == null) { continue; } PoolObjects.Release(_walls[i]); _walls[i] = null; } }