Chests began

This commit is contained in:
Sewmina
2022-08-30 02:37:00 +05:30
parent 47b339fb24
commit 148c5bb27c
2 changed files with 63 additions and 137 deletions

View File

@@ -10,11 +10,14 @@ public class XpPass : MonoBehaviour
public Slider levelSlider;
[SerializeField]
public XpPassReward[] rewards;
public Sprite goldRewardIcon, gemRewardIcon;
public Sprite goldRewardIcon, gemRewardIcon, chestRewardIcon;
public GameObject rewardCardPrefab;
public GameObject xpLevelPointPrefab;
public Sprite disabledXpPointIcon;
public Transform xpLevelPointsParent, rewardCardsParent;
public GameObject chestPrefab;
public Transform chestSpawnParent;
void Start()
{
Refresh();
@@ -63,8 +66,21 @@ public class XpPass : MonoBehaviour
GameObject xpLevelPoint = Instantiate(xpLevelPointPrefab, xpLevelPointsParent);
xpLevelPoint.GetComponentInChildren<TMP_Text>().text = reward.level.ToString();
rewardCard.transform.GetChild(1).GetComponent<Image>().sprite = (reward.rewardType == XpRewardType.Gold) ? goldRewardIcon : gemRewardIcon;
rewardCard.GetComponentInChildren<TMP_Text>().text = (reward.amount >=1000) ? reward.amount.ToString("0,000") : reward.amount.ToString();
switch(reward.rewardType){
case XpRewardType.Gold:
rewardCard.transform.GetChild(1).GetComponent<Image>().sprite = goldRewardIcon;
break;
case XpRewardType.Gems:
rewardCard.transform.GetChild(1).GetComponent<Image>().sprite = gemRewardIcon;
break;
case XpRewardType.Chest:
rewardCard.transform.GetChild(1).GetComponent<Image>().sprite = chestRewardIcon;
rewardCard.GetComponentInChildren<TMP_Text>().text = "";
break;
}
if(reward.level > DBmanager.Level){
xpLevelPoint.GetComponent<Image>().sprite = disabledXpPointIcon;
rewardCard.GetComponent<Button>().interactable=false;
@@ -92,6 +108,8 @@ public class XpPass : MonoBehaviour
DBmanager.SetCoins(DBmanager.Coins+ reward.amount);
}else if(reward.rewardType == XpRewardType.Gems){
DBmanager.SetGems(DBmanager.Gems + reward.amount);
}else if(reward.rewardType == XpRewardType.Chest){
StartCoroutine(destroyTimer(Instantiate(chestPrefab, chestSpawnParent),5));
}
break;
@@ -99,6 +117,11 @@ public class XpPass : MonoBehaviour
}
Refresh();
}
IEnumerator destroyTimer(GameObject item, float time){
yield return new WaitForSeconds(time);
Destroy(item);
}
}
@@ -112,5 +135,6 @@ public class XpPassReward{
public enum XpRewardType{
Gold,
Gems
Gems,
Chest
}