/// <summary> /// Sets up steam connection. /// </summary> /// <param name="steamCredentials">Credentials to use for login.</param> public SteamHandling(SteamCredentials steamCredentials) { _credentials = steamCredentials; _client = new SteamClient(); _manager = new CallbackManager(_client); _authTicket = new SteamAuthTicket(_client, _manager); _user = _client.GetHandler <SteamUser>(); _onConnected = _manager.Subscribe <SteamClient.ConnectedCallback>(OnConnected); _onDisconnected = _manager.Subscribe <SteamClient.DisconnectedCallback>(OnDisconnected); _onLoginKey = _manager.Subscribe <SteamUser.LoginKeyCallback>(OnLoginKey); _onLoggedOn = _manager.Subscribe <SteamUser.LoggedOnCallback>(OnLoggedOn); _onMachineAuth = _manager.Subscribe <SteamUser.UpdateMachineAuthCallback>(OnMachineAuthDetails); _client.Connect(); callbacksTask = Task.Factory.StartNew(() => { while (true) { _manager.RunWaitCallbacks(); } }, cts.Token, TaskCreationOptions.LongRunning, TaskScheduler.Default); }
/// <summary> /// Sets up steam connection and sets logger to use for debug information. /// </summary> /// <param name="steamCredentials">Credentials to use for login.</param> /// <param name="logger">Logger instance.</param> public SteamHandling(SteamCredentials steamCredentials, ILogger <SteamHandling> logger) : this(steamCredentials) { _logger = logger; }