多轮审查和修复
This commit is contained in:
46
Assets/Scripts/Quest/QuestSO.cs
Normal file
46
Assets/Scripts/Quest/QuestSO.cs
Normal file
@@ -0,0 +1,46 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
using BaseGames.Dialogue;
|
||||
|
||||
namespace BaseGames.Quest
|
||||
{
|
||||
/// <summary>
|
||||
/// 任务定义 SO(架构 22_QuestChallengeModule §2)。
|
||||
/// 资产路径: Assets/ScriptableObjects/Quest/Quest_{questId}.asset
|
||||
/// </summary>
|
||||
[CreateAssetMenu(menuName = "Quest/Quest")]
|
||||
public class QuestSO : ScriptableObject
|
||||
{
|
||||
[Header("标识")]
|
||||
public string questId; // 唯一 ID,如 "Quest_FindMushroom"
|
||||
public string displayName;
|
||||
[TextArea(2, 6)]
|
||||
public string description;
|
||||
public Sprite icon;
|
||||
|
||||
[Header("目标链")]
|
||||
public QuestObjectiveSO[] objectives; // 按顺序完成,全部完成 = 可交完
|
||||
|
||||
[Header("前置条件")]
|
||||
public string[] prerequisiteQuestIds; // 所有前置任务 Completed 后才可接
|
||||
public int minAffinityToAccept; // NPC 好感度门槛(0 = 无限制)
|
||||
|
||||
[Header("奖励")]
|
||||
public RewardSO reward;
|
||||
|
||||
[Header("失败条件(可选)")]
|
||||
public bool canFail;
|
||||
public QuestObjectiveSO failCondition;
|
||||
|
||||
[Header("完成后续任务(分支)")]
|
||||
public QuestBranch[] branches;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class QuestBranch
|
||||
{
|
||||
public string conditionQuestId; // 若此任务已完成 → 走本分支(空 = 默认)
|
||||
public QuestSO nextQuest;
|
||||
public string npcDialogueKey; // 触发 NPC 对话 key
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user