private int ToParameterGeneration(GestureComboStageMapper mapper) { switch (_parameterGeneration) { case ParameterGeneration.VirtualActivity: return(mapper.internalVirtualStageValue); case ParameterGeneration.Unique: return(0); case ParameterGeneration.UserDefinedActivity: return(mapper.stageValue); default: throw new ArgumentOutOfRangeException(); } }
public static IManifest FromMapper(GestureComboStageMapper mapper, AnimationClip fallbackWhenAnyClipIsNull) { switch (mapper.kind) { case GestureComboStageKind.Activity: return(mapper.activity == null ? ManifestFromActivity.FromNothing(fallbackWhenAnyClipIsNull) // TODO: It may be possible to create a specific manifest for that : ManifestFromActivity.FromActivity(mapper.activity, fallbackWhenAnyClipIsNull)); case GestureComboStageKind.Puppet: return(ManifestFromPuppet.FromPuppet(mapper.puppet)); case GestureComboStageKind.Massive: return(ManifestFromMassiveBlend.FromMassiveBlend(mapper.massiveBlend, fallbackWhenAnyClipIsNull)); default: throw new ArgumentOutOfRangeException(); } }