50 lines
1.6 KiB
C#
50 lines
1.6 KiB
C#
using UnityEngine;
|
|
|
|
public class QuestManager : MonoBehaviour
|
|
{
|
|
public static QuestManager instance;
|
|
private void Awake() { instance = this; }
|
|
public enum QuestState { NotStarted, InProgress, Completed }
|
|
public QuestState currentState = QuestState.NotStarted;
|
|
public enum QuestPriority { Main, Side }
|
|
public QuestPriority questType;
|
|
public enum QuestDifficulty { Easy, Medium, Hard }
|
|
public QuestDifficulty questDifficulty;
|
|
public enum QuestReward { Gold, Item, Experience }
|
|
public QuestReward questReward;
|
|
public enum QuestType { Fetch, Kill, Escort }
|
|
public QuestType questObjectiveType;
|
|
public string questName;
|
|
public int questID;
|
|
public string questDescription;
|
|
public int experienceReward;
|
|
public int goldReward;
|
|
public string itemReward;
|
|
public int objectiveAmount;
|
|
public int currentAmount;
|
|
public string objectiveTarget;
|
|
|
|
// Start is called once before the first execution of Update after the MonoBehaviour is created
|
|
void Start()
|
|
{
|
|
|
|
}
|
|
|
|
// Update is called once per frame
|
|
void Update()
|
|
{
|
|
|
|
}
|
|
public void QuestStart(int questId)
|
|
{
|
|
currentState = QuestState.InProgress;
|
|
Debug.Log("Quest " + questID + " started.");
|
|
}
|
|
public void QuestComplete(int questId)
|
|
{
|
|
currentState = QuestState.Completed;
|
|
Debug.Log("Quest " + questID + " completed! Rewards: " + experienceReward + " XP, " + goldReward + " Gold, Item: " + itemReward);
|
|
// Here you would typically add code to give the player their rewards
|
|
}
|
|
}
|