Files
Continentis/Assets/Scripts/MainGame/Character/CharacterView/ICharacterAnimator.cs

37 lines
1.3 KiB
C#
Raw Normal View History

2026-04-01 12:23:27 -04:00
using System;
namespace Continentis.MainGame.Character
{
/// <summary>
/// 角色动画驱动器统一接口。
/// 由具体的 MonoBehaviour 实现,挂载在角色 Prefab 上,
/// CombatCharacterViewBase 在初始化时自动检测并持有引用。
/// </summary>
public interface ICharacterAnimator
{
/// <summary>
/// 初始化动画驱动器,由 CombatCharacterViewBase.Initialize() 调用。
/// </summary>
void InitializeAnimator(CombatCharacterViewBase view);
/// <summary>
/// 播放指定名称的动作(如 "Attack"、"Hit"、"Skill")。
/// 播放完毕后自动回到 Idle并触发 onComplete 回调。
/// </summary>
/// <param name="actionName">动作名称,需与 CharacterData.animations 的 Key 一致。</param>
/// <param name="speed">播放速度倍率,默认 1.0。</param>
/// <param name="onComplete">动作播放完毕后的回调,可为 null。</param>
void PlayAction(string actionName, float speed = 1f, Action onComplete = null);
/// <summary>
/// 立即切回 Idle 状态。
/// </summary>
void ReturnToIdle();
/// <summary>
/// 暂停或恢复动画播放。
/// </summary>
void SetPause(bool isPaused);
}
}