public void Initialize(PlayerLevelReward reward) { title.text = reward.Name; amount.transform.parent.gameObject.SetActive(reward.ShowAmount); amount.text = reward.Amount.ToString(); icon.sprite = reward.sprite; }
public void AddLevelRewards(PlayerLevelReward reward) { switch (reward.Type) { case PlayerLevelRewardType.Currency: GameAPIManager.Instance.Currency.AddCurrency(reward.CurrencyType, reward.Amount); break; case PlayerLevelRewardType.ExploreSlot: playerMan.ExploreSlots += 1; break; default: Debug.LogError("Reward type not implemented: " + reward.Type); break; } }
IEnumerator RevealLevel(int level) { LevelText.text = "Lvl " + level; fade.DOColor(new Color(0f, 0f, 0f, 0.7f), 0.5f); yield return(new WaitForSeconds(0.2f)); LevelLabel.gameObject.SetActive(true); Level.gameObject.SetActive(true); LevelLabel.DOAnchorPosX(0f, 2f); Level.DOAnchorPosX(200f, 2f); yield return(new WaitForSeconds(2f)); LevelLabel.DOAnchorPosY(500f, 0.25f).SetEase(Ease.OutBack); Level.DOAnchorPosY(400f, 0.25f).SetEase(Ease.OutBack); // Reveal items here List <string> rewards = PlayerManager.Instance.GetLevelRewards(level); foreach (string rwdStr in rewards) { PlayerLevelReward reward = DataManager.Instance.playerLevelRewardsDataList.GetByIdentity(rwdStr); PlayerManager.Instance.AddLevelRewards(reward); // Create the reward indicator GameObject temp = Instantiate(levelRewardPrefab, levelRewardContainer); temp.GetComponent <PlayerLevelRewardsContainer>().Initialize(reward); yield return(new WaitForSeconds(0.3f)); } PlayerManager.Instance.LastLevel = level; // bool trigger to signal that another can be called }