private void OnChestReceived()
        {
            showingSpinData.NumChestsReceivedOfCurrentChestId++;
            bool flag = showingSpinData.NumChestsReceivedOfCurrentChestId == currentChestDefinition.NumChestsToNextLevel;

            SpinScreen.SetActive(value: false);
            Reward chestReward = ((lastSpinChestReward != null && !lastSpinChestReward.isEmpty()) ? lastSpinChestReward : lastSpinReward);

            RewardScreen.ShowChest(chestReward, widgetData, showingSpinData, currentChestDefinition, flag);
            if (!flag)
            {
                return;
            }
            showingSpinData.CurrentChestId++;
            showingSpinData.NumChestsReceivedOfCurrentChestId = 0;
            for (int i = 0; i < widgetData.ChestDefinitions.Count; i++)
            {
                if (widgetData.ChestDefinitions[i].ChestId == showingSpinData.CurrentChestId)
                {
                    currentChestDefinition = widgetData.ChestDefinitions[i];
                    break;
                }
            }
            ChestSpriteSelector.Select(currentChestDefinition.ChestId);
            DailySpinWheel.SetCurrentChestId(currentChestDefinition.ChestId);
        }
        private void onSpinDataAdded(DailySpinEntityData spinData)
        {
            for (int i = 0; i < widgetData.ChestDefinitions.Count; i++)
            {
                if (widgetData.ChestDefinitions[i].ChestId == spinData.CurrentChestId)
                {
                    currentChestDefinition = widgetData.ChestDefinitions[i];
                    break;
                }
            }
            ChestSpriteSelector.Select(currentChestDefinition.ChestId);
            ChestLevelNameText.text = localizer.GetTokenTranslation(currentChestDefinition.ChestNameToken);
            if (currentChestDefinition.NumChestsToNextLevel == -1)
            {
                ChestLevelValueText.gameObject.SetActive(value: false);
            }
            else
            {
                ChestLevelValueText.text = $" {spinData.NumChestsReceivedOfCurrentChestId + 1}/{currentChestDefinition.NumChestsToNextLevel}";
            }
            TitleText.text = string.Format(localizer.GetTokenTranslation("Cellphone.DailySpin.Unlock"), localizer.GetTokenTranslation(currentChestDefinition.ChestTypeToken));
            int numPunchesPerChest = currentChestDefinition.NumPunchesPerChest;

            SetChestTicks(numPunchesPerChest, spinData.NumPunchesOnCurrentChest);
            DailySpinWheel dailySpinWheel = DailySpinWheel;

            dailySpinWheel.OnSpinComplete = (System.Action)Delegate.Combine(dailySpinWheel.OnSpinComplete, new System.Action(onSpinComplete));
            if (!CheckLastSpinTime(spinData.TimeOfLastSpinInMilliseconds))
            {
                if (showingSpinData != null)
                {
                    SetChestTicks(currentChestDefinition.NumPunchesPerChest, showingSpinData.NumPunchesOnCurrentChest);
                }
                DailySpinWheel.SetOverlayState(DailySpinWheel.WheelOverlayState.Full);
            }
            this.spinData   = spinData;
            showingSpinData = new DailySpinEntityData();
            showingSpinData.CurrentChestId = spinData.CurrentChestId;
            showingSpinData.NumChestsReceivedOfCurrentChestId = spinData.NumChestsReceivedOfCurrentChestId;
            showingSpinData.NumPunchesOnCurrentChest          = spinData.NumPunchesOnCurrentChest;
            showingSpinData.TimeOfLastSpinInMilliseconds      = spinData.TimeOfLastSpinInMilliseconds;
            DailySpinWheel.SetWidgetData(widgetData, currentChestDefinition.ChestId);
        }