Files
zeling_v2/Assets/_Game/Scripts/Enemies/Boss/BossSkillSO.cs
Joywayer a1b4e629aa feat: Implement Room Streaming System
- Add RoomStreamingManager to manage room loading and unloading based on player proximity.
- Create StreamingBudgetConfigSO for memory and performance budgeting of the streaming system.
- Introduce TransitionDirector to handle seamless and atmospheric fade transitions between rooms.
- Develop WorldGraph to represent room connectivity and facilitate neighbor queries and distance calculations.
- Implement RoomNode and RoomEdge classes to structure room data and connections.
2026-05-23 19:10:29 +08:00

70 lines
2.2 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using UnityEngine;
using Animancer;
using BaseGames.Combat;
namespace BaseGames.Boss
{
/// <summary>
/// Boss 单个技能的所有数据,包括攻击模式、弱点窗口、互动标签等。
/// </summary>
[CreateAssetMenu(menuName = "BaseGames/Boss/BossSkill")]
public class BossSkillSO : ScriptableObject
{
[Header("元信息")]
[Tooltip("技能唯一标识符(全小写英文 + 下划线,如 'slash_combo'、'phase_dash'。BD_UseBossSkill 通过此 Id 引用")]
public string skillId;
[Tooltip("编辑器中显示的可读名称,不影响运行逻辑")]
public string displayName;
[TextArea(1, 4)]
[Tooltip("设计备注(仅供编辑器参考,不影响运行)")]
public string designNote;
[Header("技能分类")]
public BossSkillCategory category;
public BossSkillType skillType;
[Header("阶段可用性")]
[Tooltip("空数组 = 全阶段可用")]
public int[] availablePhaseIndices;
[Header("核心攻击动作引用")]
public AttackPatternSO[] attackPatterns;
[Header("弱点窗口(至少 1 个)")]
public VulnerabilityWindow[] vulnerabilityWindows;
[Header("互动标签")]
public InteractionTag interactionTags;
[Header("连段")]
public SkillSequenceSO sequenceOnHit;
public SkillSequenceSO sequenceOnMiss;
[Header("玩家反制接口")]
public PlayerCounterResponse[] counterResponses;
[Header("场景联动")]
public ArenaEventTrigger[] arenaEvents;
[Header("Boss 资源")]
public BossResourceCost resourceCost;
public bool buildsRage;
[Header("霸体配置")]
public PoiseWindowConfig poiseWindow;
[Header("动画")]
public ClipTransition skillAnimation;
[Header("冷却")]
[Min(0f)]
public float cooldown;
[Header("权重随机UseBossSkillWeighted 使用)")]
[Tooltip("相对权重数值越大被随机选中的概率越高0 = 禁用随机选择")]
[Min(0f)]
public float weight = 1f;
}
}