コード例 #1
0
        public static void ClaimReward(List <Reward> rewards, [Optional, DefaultParameterValue(true)] bool showCeremony)
        {
            Player player = GameLogic.Binder.GameState.Player;

            if (rewards.Count > 1)
            {
                player.UnclaimedRewards.AddRange(rewards);
            }
            else if (rewards.Count == 1)
            {
                Reward reward = rewards[0];
                CmdConsumeReward.ExecuteStatic(player, reward, true, string.Empty);
                CmdSavePlayerDataToPersistentStorage.ExecuteStatic(player);
                if (reward.MegaBoxes <= 0)
                {
                    if (showCeremony)
                    {
                        RewardCeremonyMenu.InputParameters parameters2 = new RewardCeremonyMenu.InputParameters();
                        parameters2.Title                   = StringExtensions.ToUpperLoca(_.L(ConfigUi.CeremonyEntries.SHOP_PURCHASE.Title, null, false));
                        parameters2.Description             = _.L(ConfigUi.CeremonyEntries.SHOP_PURCHASE.Description, null, false);
                        parameters2.SingleRewardOpenAtStart = ConfigUi.CeremonyEntries.SHOP_PURCHASE.ChestOpenAtStart;
                        parameters2.SingleReward            = rewards[0];
                        RewardCeremonyMenu.InputParameters parameter = parameters2;
                        PlayerView.Binder.MenuSystem.transitionToMenu(MenuType.RewardCeremonyMenu, MenuContentType.NONE, parameter, 0f, true, true);
                    }
                    else
                    {
                        PlayerView.Binder.DungeonHud.resetResourceBar();
                    }
                }
            }
        }
コード例 #2
0
 public void ConsumePromotion(RemotePromotion promotion, bool considerConsumeFlag)
 {
     if (!considerConsumeFlag || promotion.ParsedCustomParams.ConsumeOnAction)
     {
         promotion.State.Consumed = true;
         CmdSavePlayerDataToPersistentStorage.ExecuteStatic(GameLogic.Binder.GameState.Player);
     }
 }
コード例 #3
0
 public void CheckForPromotionGotActiveTrackingEvent(RemotePromotion promotion)
 {
     if (promotion.State.Active && !promotion.State.ActivatedOnce)
     {
         promotion.State.ActivatedOnce = true;
         Service.Binder.EventBus.PromotionAction(promotion.promotionid, "Activate");
         CmdSavePlayerDataToPersistentStorage.ExecuteStatic(GameLogic.Binder.GameState.Player);
     }
 }
コード例 #4
0
 private void adWatchCompleteCallback(List <Reward> rewards, bool awardReward, int numPurchases)
 {
     if (((rewards != null) && (rewards.Count > 0)) && awardReward)
     {
         PlayerView.Binder.EventBus.SpecialOfferAdWatched(rewards[0]);
         CmdConsumeReward.ExecuteStatic(GameLogic.Binder.GameState.Player, rewards[0], true, "TRACKING_ID_GAMEPLAY_LOOT_GAIN");
         CmdSavePlayerDataToPersistentStorage.ExecuteStatic(GameLogic.Binder.GameState.Player);
         RewardCeremonyMenu.InputParameters parameters2 = new RewardCeremonyMenu.InputParameters();
         parameters2.Title                   = StringExtensions.ToUpperLoca(_.L(ConfigUi.CeremonyEntries.AD_REWARD.Title, null, false));
         parameters2.Description             = _.L(ConfigUi.CeremonyEntries.AD_REWARD.Description, null, false);
         parameters2.SingleRewardOpenAtStart = ConfigUi.CeremonyEntries.AD_REWARD.ChestOpenAtStart;
         parameters2.SingleReward            = rewards[0];
         RewardCeremonyMenu.InputParameters parameter = parameters2;
         PlayerView.Binder.MenuSystem.instantCloseAllMenus();
         PlayerView.Binder.MenuSystem.transitionToMenu(MenuType.RewardCeremonyMenu, MenuContentType.NONE, parameter, 0f, false, true);
     }
     else
     {
         PlayerView.Binder.MenuSystem.returnToPreviousMenu(true);
     }
 }