/// <summary> /// Initialize the signon handler. /// </summary> /// <param name="state"></param> /// <param name="connection"></param> public DotaSignon(DotaGameState state, DotaGameConnection connection, DOTAConnectDetails details) { this.state = state; this.details = details; this.connection = connection; entityUpdater = new EntityUpdater(state); sendTableFlattener = new SendTableFlattener(); stringTableUpdater = new StringTableUpdater(); }
/// <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; }
public DotaHandshake( DOTAConnectDetails details, DotaGameState state, DotaGameConnection connection) { this.details = details; this.connection = connection; this.state = state; client_challenge = (uint) new Random().Next(); }
/// <summary> /// Instantiates a new game state. /// </summary> /// <param name="details">Details</param> /// <param name="pool">Entity pool</param> internal DotaGameState(DOTAConnectDetails details) { _details = details; CVars = new Dictionary<string, string>(); Strings = new List<StringTable>(); StringsIndex = new Dictionary<string, int>(); Classes = new List<EntityClass>(); ClassesByName = new Dictionary<string, EntityClass>(); SendTables = new List<SendTable>(); FlatTables = new List<FlatTable>(); Properties = new Dictionary<PropertyHandle, Property>(); Slots = new Dictionary<uint, Slot>(); Created = new List<uint>(); Deleted = new List<uint>(); ChatMessages = new List<CUserMsg_SayText2>(); GameEvents = new List<CSVCMsg_GameEvent>(); ChatEvents = new List<CDOTAUserMsg_ChatEvent>(); Reset(); }