public override void onGui() { int size = (int)UI.displaySize.X / 10; int x = (int)UI.displaySize.X / 10; int y = (int)UI.displaySize.Y - 250; UI.beginWindow("Terrain Material"); UI.setWindowPosition(new Vector2(x, y), SetCondition.FirstUseEver); UI.setWindowSize(new Vector2(UI.displaySize.X - x - x, size + 75), SetCondition.FirstUseEver); //near the bottom of the screen UI.beginLayout(Layout.Direction.Horizontal); GUI.Window win = UI.currentWindow; for (int i = myFirstVisible; i < myFirstVisible + maxMaterials; i++) { UI.beginLayout(Layout.Direction.Vertical); if (UI.button(Terrain.MaterialManager.myMaterialTextureArray, myMaterialPallete[i].side, new Vector2(size))) //if (UI.button(myMaterialPallete[i].name, new Vector2(size))) { myActiveIndex = i; } if (myActiveIndex == i) { //Color4 backup = UI.style.getColor(ElementColor.Text); //UI.style.colors[(int)ElementColor.Text] = Color4.Red; //UI.label(myMaterialPallete[i].name); //UI.style.colors[(int)ElementColor.Text] = backup; } else { UI.label(myMaterialPallete[i].name); } UI.endLayout(); } UI.endWindow(); String name; if (myMaterialPallete[myActiveIndex] != null) { name = myMaterialPallete[myActiveIndex].name; } else { name = ""; } myEditor.context.currentMaterial = name; if (UI.mouse.isButtonClicked(MouseButton.Left) == true && UI.hoveredWindow == null) { assignMaterial(); } if (UI.mouse.wheelDelta != 0.0f && UI.hoveredWindow == UI.findWindow("Terrain Material")) { myFirstVisible += (int)UI.mouse.wheelDelta; if (myFirstVisible < 0) { myFirstVisible = 0; } if (myFirstVisible > myMaterialPallete.Count - maxMaterials) { myFirstVisible = myMaterialPallete.Count - maxMaterials; } } }