Exemplo n.º 1
0
        protected override void OnValidate()
        {
            const Link.Settings settings = Link.Settings.None;

            if (VType == VectorType.Vec2)
            {
                InitLinks(2);
                Inputs[0].Initialize(ValueType.Float, "x", settings);
                Inputs[1].Initialize(ValueType.Float, "y", settings);
            }
            else if (VType == VectorType.Vec3)
            {
                InitLinks(3);
                Inputs[0].Initialize(ValueType.Float, "x", settings);
                Inputs[1].Initialize(ValueType.Float, "y", settings);
                Inputs[2].Initialize(ValueType.Float, "z", settings);
            }
            else if (VType == VectorType.Vec4)
            {
                InitLinks(4);
                Inputs[0].Initialize(ValueType.Float, "x", settings);
                Inputs[1].Initialize(ValueType.Float, "y", settings);
                Inputs[2].Initialize(ValueType.Float, "z", settings);
                Inputs[3].Initialize(ValueType.Float, "w", settings);
            }
            else if (VType == VectorType.Color)
            {
                InitLinks(4);
                Inputs[0].Initialize(ValueType.Float, "r", settings);
                Inputs[1].Initialize(ValueType.Float, "g", settings);
                Inputs[2].Initialize(ValueType.Float, "b", settings);
                Inputs[3].Initialize(ValueType.Float, "a", settings);
            }
            CalcNodeHeight();
        }
Exemplo n.º 2
0
        protected override ValueType CheckInputsAndGetType(ValueType[] inTypes)
        {
            const Link.Settings settings = Link.Settings.NoDefaults;

            switch (inTypes[0])
            {
            case ValueType.Vector2:
                InitLinks(3);
                Inputs[1].Initialize(ValueType.Float, "x", settings);
                Inputs[2].Initialize(ValueType.Float, "y", settings);
                break;

            case ValueType.Vector3:
                InitLinks(4);
                Inputs[1].Initialize(ValueType.Float, "x", settings);
                Inputs[2].Initialize(ValueType.Float, "y", settings);
                Inputs[3].Initialize(ValueType.Float, "z", settings);
                break;

            case ValueType.Vector4:
                InitLinks(5);
                Inputs[1].Initialize(ValueType.Float, "x", settings);
                Inputs[2].Initialize(ValueType.Float, "y", settings);
                Inputs[3].Initialize(ValueType.Float, "z", settings);
                Inputs[4].Initialize(ValueType.Float, "w", settings);
                break;

            case ValueType.Color:
                InitLinks(5);
                Inputs[1].Initialize(ValueType.Float, "r", settings);
                Inputs[2].Initialize(ValueType.Float, "g", settings);
                Inputs[3].Initialize(ValueType.Float, "b", settings);
                Inputs[4].Initialize(ValueType.Float, "a", settings);
                break;

            default:
                InitLinks(1);
                break;
            }
            CalcNodeHeight();

            for (int i = 1; i < inTypes.Length; i++)
            {
                if (!InputIsExhactOrNone(inTypes[i], ValueType.Float))
                {
                    return(ValueType.Error);
                }
            }

            return(InputVector(inTypes[0]));
        }