Files
MuHua-Core/Packages/Character/Runtime/Component/KinesisController.cs
T
2025-03-18 16:29:34 +08:00

32 lines
859 B
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace MuHua {
/// <summary>
/// 动作控制器
/// </summary>
public class KinesisController : MonoBehaviour {
public KinesisAnimator animator;
public KinesisMovement movement;
private IKinesis currentKinesis;
public virtual void Awake() => TransitionKinesis(new KinesisIdle());
public virtual void Update() => currentKinesis?.UpdateKinesis();
/// <summary> 动作过渡 </summary>
public virtual void TransitionKinesis(IKinesis kinesis) {
//不可以转换
if (currentKinesis != null && !currentKinesis.Transition(kinesis)) { return; }
//进行转换
currentKinesis?.FinishKinesis();
currentKinesis = kinesis;
currentKinesis?.StartKinesis();
animator?.SetKinesis(currentKinesis);
movement?.SetKinesis(currentKinesis);
}
}
}