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 )); }
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 )); }
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(); } }