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)); }
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; }
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); }