Ejemplo n.º 1
0
 public void OnGameLost()
 {
     // get rewards
     LevelReward reward = _leveldata.Reward;
     // not implemented yet
     //DataManager.Instance.LevelContext.Money += reward.Money;
 }
    public void ShowRewards(int exp)
    {
        profile = ProfileManager.Instance().PlayerProfile;
        int experience = profile.PlayerStat.Experience;

        _newLevel  = BrExpManager.CalLevel(experience);
        _currLevel = BrExpManager.CalLevel(experience - exp);
        if (_currLevel == _newLevel)
        {
            return;
        }

        List <Inventory> allRewards = new List <Inventory>();
        LevelReward      rewards    = new LevelReward();

        for (int i = _currLevel; i < _newLevel; i++)
        {
            rewards.StandardReward.AddRange(rewardsList[i].StandardReward);
            rewards.BattlePassReward.AddRange(rewardsList[i].BattlePassReward);
            allRewards.AddRange(rewardsList[i].StandardReward);
            allRewards.AddRange(rewardsList[i].BattlePassReward);
        }


        foreach (Inventory reward in allRewards)
        {
            switch (reward.type)
            {
            case InventoryType.Character:
                profile.AvalableCharacters.Add(reward.Value);
                break;

            case InventoryType.Para:
                profile.AvalableParas.Add(reward.Value);
                break;

            case InventoryType.Flag:
                profile.AvalableFlags.Add(reward.Value);
                break;

            case InventoryType.Emot:
                profile.AvalableEmotes.Add(reward.Value);
                break;

            case InventoryType.Coin:
                profile.CoinCount += (reward.Value);
                break;

            case InventoryType.Nothing:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
        ProfileManager.Instance().SaveProfile();

        StartCoroutine(ShowRewardImage(rewards));
    }
Ejemplo n.º 3
0
    private void OnEnable()
    {
        SetSlider();


        if (rew)
        {
            return;
        }

        rew = true;

        for (var i = 0; i < RewardsList.LevelRewards.Count; i++)
        {
            LevelReward level = RewardsList.LevelRewards[i];
            foreach (Inventory reward in level.BattlePassReward)
            {
                var button = Instantiate(ButtonPrefab, BattlePassRewards, true);
                button.transform.localScale = Vector3.one;
                button.SetButton(reward, this, true, i + 1);
            }

            var o = Instantiate(Sectors, BattlePassRewards, true);
            o.transform.localScale = Vector3.one;
            o.GetComponentInChildren <Text>().text =
                o.GetComponentInChildren <Text>().
                text.Replace("*",
                             PersianFixer.Fix((i + 1).ToString()));

            foreach (Inventory reward in level.StandardReward)
            {
                var button = Instantiate(ButtonPrefab, StandardRewards, true);
                button.transform.localScale = Vector3.one;
                button.SetButton(reward, this, false, i + 1);
            }

            o = Instantiate(Sectors, StandardRewards, true);
            o.transform.localScale = Vector3.one;
            o.GetComponentInChildren <Text>().text =
                o.GetComponentInChildren <Text>().
                text.Replace("*", PersianFixer.Fix((i + 1).ToString()));
        }
        ScrollRect scrollRect = GetComponentInChildren <ScrollRect>();

        Debug.Log(scrollRect.horizontalNormalizedPosition);
        scrollRect.horizontalNormalizedPosition = sessionProgress;
    }
Ejemplo n.º 4
0
    public void GiveBattlePass()
    {
        PlayerProfile.HasBattlePass = true;
        int level = BrExpManager.CalLevel(PlayerProfile.PlayerStat.Experience);

        for (var i = 0; i < level; i++)
        {
            LevelReward reward = levelRewards.LevelRewards[i];
            foreach (Inventory inventory in reward.BattlePassReward)
            {
                if (inventory.GetProb() == ProbType.NoProb)
                {
                    continue;
                }

                if (!HaveItem(inventory.GetProb(), inventory.Value))
                {
                    AddProb(inventory.GetProb(), inventory.Value);
                }
            }
        }
    }
    private IEnumerator ShowRewardImage(LevelReward rewards)
    {
        int i = 0;

        foreach (Inventory reward in rewards.BattlePassReward)
        {
            Sprite probimage = null;

            switch (reward.type)
            {
            case InventoryType.Character:
                probimage = CharactersList[reward.Value].BodySprite;
                break;

            case InventoryType.Para:
                probimage = ParasList[reward.Value].Sprite;

                break;

            case InventoryType.Flag:
                probimage = FlagsList[reward.Value].Sprite;

                break;

            case InventoryType.Emot:
                probimage = CharactersList[reward.Value].BodySprite;
                break;

            case InventoryType.Coin:
                break;

            case InventoryType.Nothing:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            battleRewards[i].transform.GetChild(0).GetComponent <Image>().sprite = probimage;
            battleRewards[i].SetActive(true);
            i++;
            yield return(new WaitForSeconds(0.5f));
        }

        i = 0;
        foreach (Inventory reward in rewards.StandardReward)
        {
            Sprite probimage = null;

            switch (reward.type)
            {
            case InventoryType.Character:
                probimage = CharactersList[reward.Value].BodySprite;
                break;

            case InventoryType.Para:
                probimage = ParasList[reward.Value].Sprite;

                break;

            case InventoryType.Flag:
                probimage = FlagsList[reward.Value].Sprite;

                break;

            case InventoryType.Emot:
                probimage = CharactersList[reward.Value].BodySprite;
                break;

            case InventoryType.Coin:
                break;

            case InventoryType.Nothing:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            standardRewards[i].transform.GetChild(0).GetComponent <Image>().sprite = probimage;
            standardRewards[i].SetActive(true);
            i++;
            yield return(new WaitForSeconds(0.5f));
        }

        yield return(null);
    }