ccl4/blueberryPeak/Assets/Scripts/Quests/Reward.cs
AgentSchmisch 1753fd9ef1 Scripts
2025-06-12 16:04:22 +02:00

35 lines
923 B
C#

using UnityEngine;
using UnityEngine.Events;
// base class for all rewards
public abstract class InventoryItem : ScriptableObject
{
[SerializeField] public string itemName;
[SerializeField] public int quantity = 1;
public abstract void giveReward(GameObject player);
}
[CreateAssetMenu(menuName = "GameItems/ItemReward")]
public class ItemReward : InventoryItem
{
public ItemReward(string itemName, int quantity)
{
this.itemName = itemName;
this.quantity = quantity;
}
public override void giveReward(GameObject player)
{
ItemReward reward = ScriptableObject.CreateInstance<ItemReward>();
reward.itemName = itemName;
reward.quantity = quantity;
player.GetComponent<PlayerInteraction>().AddToInventory(reward);
// Add logic to give an item to the player
Debug.Log($"You have received {quantity} {itemName}(s)!");
}
}