private void showCoinXPReward(Reward reward) { CoinsData component = dataEntityCollection.GetComponent <CoinsData>(dataEntityCollection.LocalPlayerHandle); if (reward.TryGetValue <CoinReward>(out var rewardable) && rewardable.Coins > 0) { component.RemoveCoins(rewardable.Coins); component.AddCoins(rewardable.Coins); } if (reward.TryGetValue <MascotXPReward>(out var rewardable2)) { using (Dictionary <string, int> .Enumerator enumerator = rewardable2.XP.GetEnumerator()) { if (enumerator.MoveNext()) { KeyValuePair <string, int> current = enumerator.Current; ProgressionService progressionService = Service.Get <ProgressionService>(); if (!progressionService.IsMascotMaxLevel(current.Key)) { dispatcher.DispatchEvent(new RewardEvents.AddXP(current.Key, progressionService.GetMascotXP(current.Key, -current.Value), progressionService.GetMascotXP(current.Key), current.Value, showReward: true)); } } } } RewardPopup.ShowReward(reward, lastSpinOutcomeId == widgetData.RespinSpinOutcomeId); }