39 lines
1.3 KiB
C#
39 lines
1.3 KiB
C#
using System;
|
||
using UnityEngine;
|
||
|
||
namespace BaseGames.Challenge
|
||
{
|
||
/// <summary>
|
||
/// 挑战房间定义 SO(架构 22_QuestChallengeModule §9)。
|
||
/// 资产路径: Assets/ScriptableObjects/Challenge/CHR_{challengeId}.asset
|
||
/// </summary>
|
||
[CreateAssetMenu(menuName = "Challenge/ChallengeRoom")]
|
||
public class ChallengeRoomSO : ScriptableObject
|
||
{
|
||
[Header("标识")]
|
||
public string challengeId;
|
||
public string displayName;
|
||
public ChallengeType challengeType;
|
||
|
||
[Header("波次(非 BossRush)")]
|
||
public ChallengeEncounterSO[] encounters;
|
||
|
||
[Header("Boss Rush(BossRush 类型专用)")]
|
||
public BossRushSequenceSO bossRushSequence;
|
||
|
||
[Header("限制条件")]
|
||
public float timeLimit; // 0 = 无时限
|
||
public bool requireNoHit;
|
||
public int minComboRequired; // 0 = 无要求
|
||
|
||
[Header("奖励")]
|
||
public BaseGames.Quest.RewardSO firstClearReward; // 首次通关奖励
|
||
public BaseGames.Quest.RewardSO repeatedReward; // 重复通关奖励
|
||
|
||
[Header("解锁条件")]
|
||
public string[] prerequisiteBossIds; // 需击败的 Boss ID
|
||
}
|
||
|
||
public enum ChallengeType { Survival, TimeTrial, BossRush, NoHit }
|
||
}
|