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(); }
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])); }