using System; using System.Collections; using System.Collections.Generic; using UnityEngine; namespace BITKit.Animations { public interface IMotionMatchingObject { } public interface IMotionMatchingService : IObjectMatcher { } 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; } }