Files
zeling_v2/Assets/_Game/Scripts/Enemies/EnemyAnimationConfigSO.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

56 lines
1.9 KiB
C#
Raw 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 UnityEngine;
namespace BaseGames.Enemies
{
/// <summary>
/// 敌人动画配置 SO架构 07_EnemyModule §5
/// 所有字段为 AnimationClip由 Animancer 直接播放。
/// </summary>
[CreateAssetMenu(menuName = "BaseGames/Enemies/AnimationConfig")]
public class EnemyAnimationConfigSO : ScriptableObject
{
[Header("基础")]
public AnimationClip Idle;
public AnimationClip Walk;
public AnimationClip Run;
[Header("战斗")]
public AnimationClip Attack;
[Header("受击")]
public AnimationClip Hurt;
public AnimationClip Stagger;
[Tooltip("击飞腾空动画(可选);留空时由 EnemyBase.ScheduleStateRecovery 按时长自动恢复")]
public AnimationClip KnockUp;
public AnimationClip Dead;
[Header("AI 阶段")]
[Tooltip("发现目标时的短暂警觉姿态(可选)")]
public AnimationClip Alert;
[Tooltip("搜查时的慢走或环顾动作(留空则回退到 Walk")]
public AnimationClip Investigate;
/// <summary>
/// 按字段名返回 ClipBD_PlayAnimation 使用)。
/// 支持字段名和常见别名(如 Attack_Melee / Idle 等)。
/// </summary>
public AnimationClip GetClipByName(string name)
{
return name switch
{
"Idle" => Idle,
"Walk" => Walk,
"Run" or "Chase" => Run,
"Attack" or "Attack_Melee" => Attack,
"Hurt" => Hurt,
"Stagger" => Stagger,
"KnockUp" => KnockUp,
"Dead" or "Death" => Dead,
"Alert" => Alert,
"Investigate" => Investigate ?? Walk,
_ => null,
};
}
}
}