public static IEffectSymbol CreateEffect( ISymbol containingSymbol, ModifierNode declaration, DiagnosticBag diagnostics) { return(new ModifierEffectSymbol(containingSymbol, declaration, diagnostics)); }
public ModifyingEffectSymbol( ISymbol containingSymbol, ModifierNode declaration) : base(containingSymbol) { Declaration = declaration; }
public override NodeViewModel CreateModel() { ModifierNode result = null; switch (modifyType) { case ModifyType.Abs: result = new AbsNode(); break; case ModifyType.Clamp: var clampNode = new ClampNode(); (clampNode.Lower.Editor as FloatEditorViewModel).Value = lower; (clampNode.Upper.Editor as FloatEditorViewModel).Value = upper; result = clampNode; break; case ModifyType.Exponent: var exponentNode = new ExponentNode(); (exponentNode.Exponent.Editor as FloatEditorViewModel).Value = exponent; result = exponentNode; break; case ModifyType.Invert: result = new InvertNode(); break; case ModifyType.ScaleBias: var scaleBiasNode = new ScaleBiasNode(); (scaleBiasNode.Scale.Editor as FloatEditorViewModel).Value = scale; (scaleBiasNode.Bias.Editor as FloatEditorViewModel).Value = bias; result = scaleBiasNode; break; case ModifyType.Scale2d: var scale2dNode = new Scale2DNode(); (scale2dNode.Scale2d.Editor as ValueEditorViewModel <Vector2>).Value = scale2d; result = scale2dNode; break; case ModifyType.Curve: result = new CurveNode(); // TODO break; case ModifyType.Terrace: result = new TerraceNode(); // TODO break; } result.Name = name; result.Position = pos; return(result); }
private void PushModifierStack(ModifierNode modifier) { // Push the old modifier on the stack if (_modifierStack == null) { _modifierStack = new Stack(); } _modifierStack.Push(modifier); }