override public ModuleBase GetModule() { // check that has inputs for (int i = 0; i < inputs.Length; i++) { if (inputs[i] == null) { return(null); } } // get module switch (type) { case OPERATORTYPE.ABS: module = new Abs(inputs[0].GetModule()); break; case OPERATORTYPE.ADD: module = new Add(inputs[0].GetModule(), inputs[1].GetModule()); break; case OPERATORTYPE.BLEND: module = new Blend(inputs[0].GetModule(), inputs[1].GetModule(), inputs[2].GetModule()); break; case OPERATORTYPE.CLAMP: module = new Clamp(min, max, inputs[0].GetModule()); break; case OPERATORTYPE.EXPONENT: module = new Exponent(exponent, inputs[0].GetModule()); break; case OPERATORTYPE.INVERT: module = new Invert(inputs[0].GetModule()); break; case OPERATORTYPE.MAX: module = new Max(inputs[0].GetModule(), inputs[1].GetModule()); break; case OPERATORTYPE.MIN: module = new Min(inputs[0].GetModule(), inputs[1].GetModule()); break; case OPERATORTYPE.MULTIPLY: module = new Multiply(inputs[0].GetModule(), inputs[1].GetModule()); break; case OPERATORTYPE.POWER: module = new Power(inputs[0].GetModule(), inputs[1].GetModule()); break; case OPERATORTYPE.SUBTRACT: module = new Subtract(inputs[0].GetModule(), inputs[1].GetModule()); break; case OPERATORTYPE.TERRACE: module = new Terrace(min, max, power, inputs[0].GetModule()); break; case OPERATORTYPE.TRANSLATE: module = new Translate(x, y, z, inputs[0].GetModule()); break; case OPERATORTYPE.DIVIDE: module = new Divide(inputs[0].GetModule(), inputs[1].GetModule()); break; case OPERATORTYPE.CURVE: if (curve == null) { curve = AnimationCurve.EaseInOut(0f, 0f, 1f, 1f); if (keyframes != null) { curve.keys = SerializableKeyframe.ToKeyframeArray(keyframes); } } if (keyframes == null) { keyframes = SerializableKeyframe.FromKeyframeArray(curve.keys); } module = new Curve(keyframes, inputs[0].GetModule()); break; case OPERATORTYPE.WEIGHT: module = new Weight(inputs[0].GetModule(), min, max); break; case OPERATORTYPE.WARP: module = new Warp(power, inputs[0].GetModule(), inputs[1].GetModule()); break; case OPERATORTYPE.SELECT: module = new Select(inputs[0].GetModule(), min, max); break; } SetOutputOptions(); return(this.module); }
public override ModuleBase GetModule() { // check that has inputs for(int i = 0; i < inputs.Length; i++) { if(inputs[i] == null) { return null; } } // get module switch(type) { case OPERATORTYPE.ABS: module = new Abs(inputs[0].GetModule()); break; case OPERATORTYPE.ADD: module = new Add(inputs[0].GetModule(), inputs[1].GetModule()); break; case OPERATORTYPE.BLEND: module = new Blend(inputs[0].GetModule(), inputs[1].GetModule(), inputs[2].GetModule()); break; case OPERATORTYPE.CLAMP: module = new Clamp(min, max, inputs[0].GetModule()); break; case OPERATORTYPE.EXPONENT: module = new Exponent(exponent, inputs[0].GetModule()); break; case OPERATORTYPE.INVERT: module = new Invert(inputs[0].GetModule()); break; case OPERATORTYPE.MAX: module = new Max(inputs[0].GetModule(), inputs[1].GetModule()); break; case OPERATORTYPE.MIN: module = new Min(inputs[0].GetModule(), inputs[1].GetModule()); break; case OPERATORTYPE.MULTIPLY: module = new Multiply(inputs[0].GetModule(), inputs[1].GetModule()); break; case OPERATORTYPE.POWER: module = new Power(inputs[0].GetModule(), inputs[1].GetModule()); break; case OPERATORTYPE.SUBTRACT: module = new Subtract(inputs[0].GetModule(), inputs[1].GetModule()); break; case OPERATORTYPE.TERRACE: module = new Terrace(min, max, power, inputs[0].GetModule()); break; case OPERATORTYPE.TRANSLATE: module = new Translate(x, y, z, inputs[0].GetModule()); break; case OPERATORTYPE.DIVIDE: module = new Divide(inputs[0].GetModule(), inputs[1].GetModule()); break; case OPERATORTYPE.CURVE: if(curve == null) { curve = AnimationCurve.EaseInOut(0f, 0f, 1f, 1f); if(keyframes != null) curve.keys = SerializableKeyframe.ToKeyframeArray(keyframes); } if(keyframes == null) keyframes = SerializableKeyframe.FromKeyframeArray(curve.keys); module = new Curve(keyframes, inputs[0].GetModule()); break; case OPERATORTYPE.WEIGHT: module = new Weight(inputs[0].GetModule(), min, max); break; case OPERATORTYPE.WARP: module = new Warp(power, inputs[0].GetModule(), inputs[1].GetModule()); break; case OPERATORTYPE.SELECT: module = new Select(inputs[0].GetModule(), min, max); break; } SetOutputOptions(); return this.module; }