/// <summary> /// Init a new game connect session. /// </summary> /// <param name="deets"></param> /// <param name="toArray"></param> /// <param name="poolBuilder">Pool builder</param> internal DotaGameSession(DOTAConnectDetails deets, IDotaGameController[] controllers, DotaEntityPool.Builder poolBuilder) { _details = deets; Running = false; _gameState = new DotaGameState(deets); _gameState.EntityPool = poolBuilder.Build(_gameState); _connection = null; Controllers = controllers; }
/// <summary> /// Adds a controller to the client. /// </summary> /// <param name="cont"></param> public void RegisterController(IDotaGameController cont) { if (Session != null) { throw new InvalidOperationException("Controllers must be added before the client connects."); } if (!Controllers.Contains(cont)) { Controllers.Add(cont); } }