Beispiel #1
0
 private static IManifest OfComplexBlendTreeBased(ComboGestureMassiveBlend massiveBlend, AnimationClip fallbackWhenAnyClipIsNull)
 {
     return(MassiveBlendManifest.OfComplex(
                massiveBlend.mode,
                massiveBlend.blendTreeMoods
                .Select(mood => SharedLayerUtils.FromMoodSet(mood, fallbackWhenAnyClipIsNull))
                .ToList(),
                (BlendTree)massiveBlend.blendTree,
                massiveBlend.transitionDuration
                ));
 }
Beispiel #2
0
 private static IManifest OfSimple(ComboGestureMassiveBlend massiveBlend, AnimationClip fallbackWhenAnyClipIsNull)
 {
     return(MassiveBlendManifest.OfParameterBased(
                massiveBlend.mode,
                new List <IManifest>
     {
         SharedLayerUtils.FromMoodSet(massiveBlend.simpleZero, fallbackWhenAnyClipIsNull),
         SharedLayerUtils.FromMoodSet(massiveBlend.simpleOne, fallbackWhenAnyClipIsNull),
     },
                massiveBlend.simpleParameterName,
                massiveBlend.transitionDuration
                ));
 }
Beispiel #3
0
        public static IManifest FromMassiveBlend(ComboGestureMassiveBlend massiveBlend, AnimationClip fallbackWhenAnyClipIsNull)
        {
            switch (massiveBlend.mode)
            {
            case CgeMassiveBlendMode.Simple:
                return(OfSimple(massiveBlend, fallbackWhenAnyClipIsNull));

            case CgeMassiveBlendMode.TwoDirections:
                return(OfTwoDirections(massiveBlend, fallbackWhenAnyClipIsNull));

            case CgeMassiveBlendMode.ComplexBlendTree:
                return(OfComplexBlendTreeBased(massiveBlend, fallbackWhenAnyClipIsNull));

            default:
                throw new ArgumentOutOfRangeException();
            }
        }