iFactory.Cutting.Unity/Assets/BITKit/Unity/Scripts/MotionMatching/IMotionMatchingService.cs

51 lines
1.2 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace BITKit.Animations
{
public interface IMotionMatchingObject
{
}
public interface IMotionMatchingService : IObjectMatcher<string,IMotionMatchingObject>
{
}
public interface IMotionMatchingClip
{
public AnimationClip Clip { get; }
}
public interface IMotionMatchingDualClip
{
public AnimationClip Clip1 { get; }
public AnimationClip Clip2 { get; }
}
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;
}
[Serializable]
public struct MotionMatchingDualClip:IMotionMatchingObject,IMotionMatchingDualClip
{
[SerializeField] private AnimationClip clip1;
[SerializeField] private AnimationClip clip2;
public AnimationClip Clip1 => clip1;
public AnimationClip Clip2 => clip2;
}
}