private ParticleSystem.MinMaxCurve LoadPitch(EffectContext context) { switch (Pitch.Source) { case PropertySource.Effect: return(Pitch.Value); case PropertySource.Context: return(context.GetRequiredFeatureWithTags <MinMaxCurveFeature>(Pitch.TagName).Curve); default: throw new ArgumentOutOfRangeException(); } }
public float Evaluate(EffectContext context) { switch (Source) { case PropertySource.Effect: return(Value.Evaluate()); case PropertySource.Context: return(context.GetRequiredFeatureWithTags <FloatFeature>(TagName).Value); default: throw new ArgumentOutOfRangeException(); } }
private float LoadLoopDuration(EffectContext context) { switch (LoopDuration.Source) { case PropertySource.Effect: return(LoopDuration.Value.Evaluate()); case PropertySource.Context: return(context.GetRequiredFeatureWithTags <FloatFeature>(LoopDuration.TagName).Value); default: throw new ArgumentOutOfRangeException(); } }