package electrosphere.menu.mainmenu; import org.joml.Vector3f; import electrosphere.engine.Globals; import electrosphere.entity.types.camera.CameraEntityUtils; import electrosphere.menu.WindowUtils; import electrosphere.renderer.actor.ActorUtils; import electrosphere.renderer.ui.elements.ActorPanel; import electrosphere.renderer.ui.elements.Button; import electrosphere.renderer.ui.elements.FormElement; import electrosphere.renderer.ui.elements.Label; import electrosphere.renderer.ui.elements.Slider; import electrosphere.renderer.ui.elements.VirtualScrollable; import electrosphere.renderer.ui.elementtypes.ClickableElement; import electrosphere.renderer.ui.elementtypes.Element; import electrosphere.renderer.ui.elementtypes.ValueElement; import electrosphere.renderer.ui.events.ClickEvent; import electrosphere.renderer.ui.events.ValueChangeEvent; /** * Menu generators for creating test visualizations for ui elements */ public class MenuGeneratorsUITesting { /** * Title menu ui testing window * @return */ public static Element createUITestMenu(){ FormElement rVal = new FormElement(); //button (back) Button backButton = Button.createButton("Back", new ClickableElement.ClickEventCallback(){public boolean execute(ClickEvent event){ WindowUtils.replaceMainMenuContents(MenuGeneratorsTitleMenu.createTitleMenu()); return false; }}); rVal.addChild(backButton); ActorPanel actorPanel = new ActorPanel(500, 100, 500, 500, ActorUtils.createActorFromModelPath("Models/deer1.fbx")); if(Globals.playerCamera == null){ Globals.playerCamera = CameraEntityUtils.spawnBasicCameraEntity(new Vector3f(0,0,0), new Vector3f(-1,0,0)); } rVal.addChild(actorPanel); // //Virtual scrollable test VirtualScrollable virtualScrollable = new VirtualScrollable(300, 75); //add a ton of children for(int i = 0; i < 10; i++){ Button testButton = new Button(); Label testLabel = new Label(1.0f); testLabel.setText("Test button " + i); testButton.addChild(testLabel); virtualScrollable.addChild(testButton); } // slider test Slider slider = Slider.createSlider(new ValueElement.ValueChangeEventCallback() {public void execute(ValueChangeEvent event) { }}); virtualScrollable.addChild(slider); rVal.addChild(virtualScrollable); return rVal; } }