public override void OnGUI(EditorGuiBase gui) { label = gui.textField("name", label); scale = gui.silder("scale", scale, 0f, 10f); bias = gui.silder("bias", bias, -5f, 5f); normalType = (NormalType)gui.enumPopup("normal type", normalType); height = gui.floatField("height", height); }
public void DrawProperty(EditorGuiBase gui) { NodeBase newNode = null; if (node.value.getNodeType() == NodeType.Generator) { GeneratorType newType = (GeneratorType)gui.enumPopup("Generator Type", generateType); if (newType != generateType) { newNode = NodeBase.createNewGenerate(newType); } generateType = newType; } else if (node.value.getNodeType() == NodeType.UnaryOperator) { UnaryOperatorType newType = (UnaryOperatorType)gui.enumPopup("Operator Type", unaryOperatorType); if (newType != unaryOperatorType) { newNode = NodeBase.createNewUnaryOperator(newType); } // string oldGuid = node.value.guid; // string oldName = node.value.label; // node = new NodeWrapper(NodeBase.createNewUnaryOperator(newType)); // node.value.label = oldName; // node.value.guid = oldGuid; //} unaryOperatorType = newType; } else if (node.value.getNodeType() == NodeType.BinaryOperator) { BinaryOperatorType newType = (BinaryOperatorType)gui.enumPopup("Operator Type", binaryOperatorType); if (newType != binaryOperatorType) { ((NodeBinaryOperator)node.value).operatorType = newType; } binaryOperatorType = newType; } if (newNode != null) { newNode.copy(node.value); node = new NodeWrapper(newNode); } node.value.OnGUI(gui); int newHashCode = node.value.GetHashCode(); if (newHashCode != oldHash || bNeedUpdate) { bNeedUpdate = false; float[,] cls = node.value.update(0, 0, 0, 128, 128); //node.value.getPreview(); int w = 128; tex = new Texture2D(w, w); Color[] colors = new Color[w * w]; for (int i = 0; i < w; i++) { for (int j = 0; j < w; j++) { colors[j * w + i].a = 1; colors[j * w + i].r = cls[i, j]; colors[j * w + i].g = cls[i, j]; colors[j * w + i].b = cls[i, j]; } } tex.SetPixels(colors); tex.Apply(); } oldHash = newHashCode; }