2024-03-23 18:07:54 +08:00
|
|
|
using System;
|
|
|
|
using System.Collections;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
namespace BITKit.Animations
|
|
|
|
{
|
2024-03-24 02:05:16 +08:00
|
|
|
public interface IMotionMatchingObject
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
2024-03-23 18:07:54 +08:00
|
|
|
public interface IMotionMatchingService : IObjectMatcher<string,IMotionMatchingObject>
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
public interface IMotionMatchingClip
|
|
|
|
{
|
|
|
|
public AnimationClip Clip { get; }
|
|
|
|
}
|
2024-03-25 16:08:26 +08:00
|
|
|
public interface IMotionMatchingDualClip
|
|
|
|
{
|
|
|
|
public AnimationClip Clip1 { get; }
|
|
|
|
public AnimationClip Clip2 { get; }
|
|
|
|
}
|
2024-03-23 18:07:54 +08:00
|
|
|
|
|
|
|
public interface IMotionMatchingSequence
|
|
|
|
{
|
|
|
|
public AnimationClip[] Sequence { get; }
|
|
|
|
}
|
|
|
|
[Serializable]
|
|
|
|
public struct MotionMatchingClip:IMotionMatchingObject,IMotionMatchingClip
|
|
|
|
{
|
|
|
|
[SerializeField] private AnimationClip clip;
|
|
|
|
public AnimationClip Clip => clip;
|
|
|
|
}
|
|
|
|
[Serializable]
|
|
|
|
public struct MotionMatchingSequence:IMotionMatchingObject,IMotionMatchingSequence
|
|
|
|
{
|
|
|
|
[SerializeField] private AnimationClip[] sequence;
|
|
|
|
public AnimationClip[] Sequence => sequence;
|
|
|
|
}
|
2024-03-25 16:08:26 +08:00
|
|
|
[Serializable]
|
|
|
|
public struct MotionMatchingDualClip:IMotionMatchingObject,IMotionMatchingDualClip
|
|
|
|
{
|
|
|
|
[SerializeField] private AnimationClip clip1;
|
|
|
|
[SerializeField] private AnimationClip clip2;
|
|
|
|
public AnimationClip Clip1 => clip1;
|
|
|
|
public AnimationClip Clip2 => clip2;
|
|
|
|
}
|
2024-03-23 18:07:54 +08:00
|
|
|
}
|