public void Start() { _timer.Start(); SteamRichPresence presence; switch (_appId) { case SteamAppId.TF2: presence = new TF2RichPresence(_steamId, new Assets { LargeImageKey = _imageKey, LargeImageText = _imageText }); break; case SteamAppId.Unturned: presence = new UnturnedRichPresence(_steamId, new Assets { LargeImageKey = _imageKey, LargeImageText = _imageText }); break; default: presence = new DefaultRichPresence(); break; } Client.SetPresence(presence); }
private void UpdatePresence() { if (_elapsedCount <= 10) { _elapsedCount++; return; } SteamRichPresence presence; switch (_appId) { case SteamAppId.TF2: presence = new TF2RichPresence(_steamId, new Assets { LargeImageKey = _imageKey, LargeImageText = _imageText }); break; case SteamAppId.Unturned: presence = new UnturnedRichPresence(_steamId, new Assets { LargeImageKey = _imageKey, LargeImageText = _imageText }); break; default: presence = new DefaultRichPresence(); break; } var updated = false; if (/*presence.State != default && */ SteamRichPresence.LastPresence?.State != presence.State) { StateUpdated?.Invoke(presence.State); updated = true; } if (/*presence.Details != default && */ SteamRichPresence.LastPresence?.Details != presence.Details) { DetailsUpdated?.Invoke(presence.Details); updated = true; } if (/*presence.Party != default && */ presence.Party?.Size != SteamRichPresence.LastPresence?.Party?.Size) { PartyUpdated?.Invoke(presence.Party); updated = true; } if (/*presence.Timestamps?.Start != default && */ presence.Timestamps?.Start != SteamRichPresence.LastPresence?.Timestamps?.Start) { TimestampsUpdated?.Invoke(presence.Timestamps); updated = true; } if (presence.Assets?.LargeImageKey != SteamRichPresence.LastPresence?.Assets?.LargeImageKey || presence.Assets?.SmallImageKey != SteamRichPresence.LastPresence?.Assets?.SmallImageKey) { AssetsUpdated?.Invoke(presence.Assets); updated = true; } if (updated) { SteamRichPresence.LastPresence = presence; } }