Example #1
0
 public static IEffectSymbol CreateEffect(
     ISymbol containingSymbol,
     ModifierNode declaration,
     DiagnosticBag diagnostics)
 {
     return(new ModifierEffectSymbol(containingSymbol, declaration, diagnostics));
 }
Example #2
0
 public ModifyingEffectSymbol(
     ISymbol containingSymbol,
     ModifierNode declaration)
     : base(containingSymbol)
 {
     Declaration = declaration;
 }
Example #3
0
        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);
        }
Example #4
0
        private void PushModifierStack(ModifierNode modifier)
        {
            // Push the old modifier on the stack
            if (_modifierStack == null)
            {
                _modifierStack = new Stack();
            }

            _modifierStack.Push(modifier);
        }
        private void PushModifierStack(ModifierNode modifier) 
        { 
            // Push the old modifier on the stack
            if (_modifierStack == null) 
            {
                _modifierStack = new Stack();
            }
 
            _modifierStack.Push(modifier);
        }