private void OnDestroy() { dispatcher.RemoveListener <RewardServiceEvents.ClaimDailySpinRewardSuccess>(onClaimSuccess); dispatcher.RemoveListener <RewardServiceEvents.ClaimDailySpinRewardFailed>(onClaimFail); Service.Get <EventDispatcher>().DispatchEvent(new UIDisablerEvents.EnableUIElement("DailySpinButton")); DailySpinWheel dailySpinWheel = DailySpinWheel; dailySpinWheel.OnSpinComplete = (System.Action)Delegate.Remove(dailySpinWheel.OnSpinComplete, new System.Action(onSpinComplete)); DailySpinRewardScreen rewardScreen = RewardScreen; rewardScreen.RewardScreenComplete = (System.Action)Delegate.Remove(rewardScreen.RewardScreenComplete, new System.Action(OnRewardScreenComplete)); CoroutineRunner.StopAllForOwner(this); ClubPenguin.Core.SceneRefs.Remove(this); }
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); }