61 lines
1.7 KiB
C#
61 lines
1.7 KiB
C#
using System;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class QuestCardPlayer : QuestCard
|
|
{
|
|
[Header("Config")]
|
|
[SerializeField] private TextMeshProUGUI statusTMP;
|
|
[SerializeField] private TextMeshProUGUI goldRewardTMP;
|
|
[SerializeField] private TextMeshProUGUI expRewardTMP;
|
|
|
|
[Header("Item")]
|
|
[SerializeField] private Image itemIcon;
|
|
[SerializeField] private TextMeshProUGUI itemQuantityTMP;
|
|
|
|
[Header("Quest Completed")]
|
|
[SerializeField] private GameObject claimButton;
|
|
[SerializeField] private GameObject rewardsPanel;
|
|
|
|
private void Update()
|
|
{
|
|
statusTMP.text =
|
|
$"Status\n{QuestToComplete.CurrentStatus}/{QuestToComplete.QuestGoal}";
|
|
}
|
|
|
|
public override void ConfigQuestUI(Quest quest)
|
|
{
|
|
base.ConfigQuestUI(quest);
|
|
statusTMP.text = $"Status\n{quest.CurrentStatus}/{quest.QuestGoal}";
|
|
goldRewardTMP.text = quest.GoldReward.ToString();
|
|
expRewardTMP.text = quest.ExpReward.ToString();
|
|
|
|
itemIcon.sprite = quest.ItemReward.Item.Icon;
|
|
itemQuantityTMP.text = quest.ItemReward.Quantity.ToString();
|
|
}
|
|
|
|
public void ClaimQuest()
|
|
{
|
|
GameManager.Instance.AddPlayerExp(QuestToComplete.ExpReward);
|
|
Inventory.Instance.AddItem(QuestToComplete.ItemReward.Item,
|
|
QuestToComplete.ItemReward.Quantity);
|
|
CoinManager.Instance.AddCoins(QuestToComplete.GoldReward);
|
|
gameObject.SetActive(false);
|
|
}
|
|
|
|
private void QuestCompletedCheck()
|
|
{
|
|
if (QuestToComplete.QuestCompleted)
|
|
{
|
|
claimButton.SetActive(true);
|
|
rewardsPanel.SetActive(false);
|
|
}
|
|
}
|
|
|
|
private void OnEnable()
|
|
{
|
|
QuestCompletedCheck();
|
|
}
|
|
}
|