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;
            }
        }