/// <summary> /// Register all default/supported handlers. /// </summary> /// <param name="b">The builder.</param> internal static DotaEntityPool.Builder Associate(DotaEntityPool.Builder b) { b.Associate<Ability>(Ability.TableName, (i, c) => new Ability(i, c)); b.Associate<GameRules>(GameRules.TableName, (i, c) => new GameRules(i, c)); b.Associate<Player>(Player.TableName, (i, c) => new Player(i, c)); b.Associate<PlayerResource>(PlayerResource.TableName, (i, c) => new PlayerResource(i, c)); return b; }
/// <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; }