|
14 | 14 | import com.badlogic.gdx.utils.viewport.FillViewport;
|
15 | 15 | import com.badlogic.gdx.utils.viewport.Viewport;
|
16 | 16 | import com.interrupt.api.steam.SteamApi;
|
17 |
| -import com.interrupt.dungeoneer.editor.Editor; |
18 |
| -import com.interrupt.dungeoneer.editor.EditorApplication; |
19 |
| -import com.interrupt.dungeoneer.editor.EditorRightClickEntitiesMenu; |
20 |
| -import com.interrupt.dungeoneer.editor.EditorRightClickMenu; |
| 17 | +import com.interrupt.dungeoneer.editor.*; |
21 | 18 | import com.interrupt.dungeoneer.editor.ui.menu.DynamicMenuItem;
|
22 | 19 | import com.interrupt.dungeoneer.editor.ui.menu.DynamicMenuItemAction;
|
23 | 20 | import com.interrupt.dungeoneer.editor.ui.menu.MenuAccelerator;
|
|
35 | 32 | public class EditorUi {
|
36 | 33 | Stage stage;
|
37 | 34 | Table mainTable;
|
| 35 | + final EditorActions actions = new EditorActions(); |
38 | 36 |
|
39 | 37 | public static Skin defaultSkin;
|
40 | 38 | public static Skin mediumSkin;
|
@@ -281,100 +279,100 @@ public void actionPerformed(ActionEvent e) {
|
281 | 279 | menuBar = new Scene2dMenuBar(smallSkin);
|
282 | 280 | menuBar.addItem(new MenuItem("File", smallSkin)
|
283 | 281 | .addItem(new MenuItem("New", smallSkin, newWindowAction).setAccelerator(new MenuAccelerator(Keys.N, true, false)))
|
284 |
| - .addItem(new MenuItem("Open", smallSkin, Editor.actions.openAction).setAccelerator(new MenuAccelerator(Keys.O, true, false))) |
| 282 | + .addItem(new MenuItem("Open", smallSkin, actions.openAction).setAccelerator(new MenuAccelerator(Keys.O, true, false))) |
285 | 283 | .addItem(openRecent)
|
286 | 284 | .addSeparator()
|
287 |
| - .addItem(new MenuItem("Save", smallSkin, Editor.actions.saveAction).setAccelerator(new MenuAccelerator(Keys.S, true, false))) |
288 |
| - .addItem(new MenuItem("Save As...", smallSkin, Editor.actions.saveAsAction).setAccelerator(new MenuAccelerator(Keys.S, true, true))) |
| 285 | + .addItem(new MenuItem("Save", smallSkin, actions.saveAction).setAccelerator(new MenuAccelerator(Keys.S, true, false))) |
| 286 | + .addItem(new MenuItem("Save As...", smallSkin, actions.saveAsAction).setAccelerator(new MenuAccelerator(Keys.S, true, true))) |
289 | 287 | .addSeparator()
|
290 |
| - .addItem(new MenuItem("Exit", smallSkin, Editor.actions.exitAction)) |
| 288 | + .addItem(new MenuItem("Exit", smallSkin, actions.exitAction)) |
291 | 289 | );
|
292 | 290 |
|
293 |
| - MenuItem.acceleratorItems.add(new MenuItem("Delete", smallSkin, Editor.actions.deleteAction).setAccelerator(new MenuAccelerator(Keys.FORWARD_DEL, false, false))); |
| 291 | + MenuItem.acceleratorItems.add(new MenuItem("Delete", smallSkin, actions.deleteAction).setAccelerator(new MenuAccelerator(Keys.FORWARD_DEL, false, false))); |
294 | 292 |
|
295 | 293 | menuBar.addItem(new MenuItem("Edit", smallSkin)
|
296 |
| - .addItem(new MenuItem("Undo", smallSkin, Editor.actions.undoAction).setAccelerator(new MenuAccelerator(Keys.Z, true, false))) |
297 |
| - .addItem(new MenuItem("Redo", smallSkin, Editor.actions.redoAction).setAccelerator(new MenuAccelerator(Keys.Y, true, false))) |
| 294 | + .addItem(new MenuItem("Undo", smallSkin, actions.undoAction).setAccelerator(new MenuAccelerator(Keys.Z, true, false))) |
| 295 | + .addItem(new MenuItem("Redo", smallSkin, actions.redoAction).setAccelerator(new MenuAccelerator(Keys.Y, true, false))) |
298 | 296 | .addSeparator()
|
299 |
| - .addItem(new MenuItem("Copy", smallSkin, Editor.actions.copyAction).setAccelerator(new MenuAccelerator(Keys.C, true, false))) |
300 |
| - .addItem(new MenuItem("Paste", smallSkin, Editor.actions.pasteAction).setAccelerator(new MenuAccelerator(Keys.V, true, false))) |
| 297 | + .addItem(new MenuItem("Copy", smallSkin, actions.copyAction).setAccelerator(new MenuAccelerator(Keys.C, true, false))) |
| 298 | + .addItem(new MenuItem("Paste", smallSkin, actions.pasteAction).setAccelerator(new MenuAccelerator(Keys.V, true, false))) |
301 | 299 | );
|
302 | 300 |
|
303 | 301 | menuBar.addItem(
|
304 | 302 | new MenuItem("Tile", smallSkin)
|
305 |
| - .addItem(new MenuItem("Carve", smallSkin, Editor.actions.carveAction).setAccelerator(new MenuAccelerator(Keys.ENTER, false, false))) |
306 |
| - .addItem(new MenuItem("Paint", smallSkin, Editor.actions.paintAction).setAccelerator(new MenuAccelerator(Keys.ENTER, false, true))) |
307 |
| - .addItem(new MenuItem("Delete", smallSkin, Editor.actions.deleteAction).setAccelerator(new MenuAccelerator(Keys.DEL, false, false))) |
308 |
| - .addItem(new MenuItem("Deselect", smallSkin, Editor.actions.escapeAction).setAccelerator(new MenuAccelerator(Keys.ESCAPE, false, false))) |
| 303 | + .addItem(new MenuItem("Carve", smallSkin, actions.carveAction).setAccelerator(new MenuAccelerator(Keys.ENTER, false, false))) |
| 304 | + .addItem(new MenuItem("Paint", smallSkin, actions.paintAction).setAccelerator(new MenuAccelerator(Keys.ENTER, false, true))) |
| 305 | + .addItem(new MenuItem("Delete", smallSkin, actions.deleteAction).setAccelerator(new MenuAccelerator(Keys.DEL, false, false))) |
| 306 | + .addItem(new MenuItem("Deselect", smallSkin, actions.escapeAction).setAccelerator(new MenuAccelerator(Keys.ESCAPE, false, false))) |
309 | 307 | .addSeparator()
|
310 | 308 | .addItem(new MenuItem("Height Edit Mode", smallSkin)
|
311 |
| - .addItem(new MenuItem("Plane", smallSkin, Editor.actions.planeHeightAction)) |
312 |
| - .addItem(new MenuItem("Vertex", smallSkin, Editor.actions.vertexHeightAction)) |
313 |
| - .addItem(new MenuItem("Toggle", smallSkin, Editor.actions.vertexToggleAction).setAccelerator(new MenuAccelerator(Keys.V, false, false))) |
| 309 | + .addItem(new MenuItem("Plane", smallSkin, actions.planeHeightAction)) |
| 310 | + .addItem(new MenuItem("Vertex", smallSkin, actions.vertexHeightAction)) |
| 311 | + .addItem(new MenuItem("Toggle", smallSkin, actions.vertexToggleAction).setAccelerator(new MenuAccelerator(Keys.V, false, false))) |
314 | 312 | )
|
315 | 313 | .addItem(new MenuItem("Raise/Lower", smallSkin)
|
316 |
| - .addItem(new MenuItem("Raise Floor", smallSkin, Editor.actions.raiseFloorAction).setAccelerator(new MenuAccelerator(Keys.NUM_3, false, false))) |
317 |
| - .addItem(new MenuItem("Lower Floor", smallSkin, Editor.actions.lowerFloorAction).setAccelerator(new MenuAccelerator(Keys.NUM_3, false, true))) |
318 |
| - .addItem(new MenuItem("Raise Ceiling", smallSkin, Editor.actions.raiseCeilingAction).setAccelerator(new MenuAccelerator(Keys.NUM_4, false, false))) |
319 |
| - .addItem(new MenuItem("Lower Ceiling", smallSkin, Editor.actions.lowerCeilingAction).setAccelerator(new MenuAccelerator(Keys.NUM_4, false, true))) |
| 314 | + .addItem(new MenuItem("Raise Floor", smallSkin, actions.raiseFloorAction).setAccelerator(new MenuAccelerator(Keys.NUM_3, false, false))) |
| 315 | + .addItem(new MenuItem("Lower Floor", smallSkin, actions.lowerFloorAction).setAccelerator(new MenuAccelerator(Keys.NUM_3, false, true))) |
| 316 | + .addItem(new MenuItem("Raise Ceiling", smallSkin, actions.raiseCeilingAction).setAccelerator(new MenuAccelerator(Keys.NUM_4, false, false))) |
| 317 | + .addItem(new MenuItem("Lower Ceiling", smallSkin, actions.lowerCeilingAction).setAccelerator(new MenuAccelerator(Keys.NUM_4, false, true))) |
320 | 318 | )
|
321 | 319 | .addItem(new MenuItem("Move", smallSkin)
|
322 |
| - .addItem(new MenuItem("Move North", smallSkin, Editor.actions.moveTileNorthAction).setAccelerator(new MenuAccelerator(Keys.UP, false, true))) |
323 |
| - .addItem(new MenuItem("Move South", smallSkin, Editor.actions.moveTileSouthAction).setAccelerator(new MenuAccelerator(Keys.DOWN, false, true))) |
324 |
| - .addItem(new MenuItem("Move East", smallSkin, Editor.actions.moveTileEastAction).setAccelerator(new MenuAccelerator(Keys.LEFT, false, true))) |
325 |
| - .addItem(new MenuItem("Move West", smallSkin, Editor.actions.moveTileWestAction).setAccelerator(new MenuAccelerator(Keys.RIGHT, false, true))) |
| 320 | + .addItem(new MenuItem("Move North", smallSkin, actions.moveTileNorthAction).setAccelerator(new MenuAccelerator(Keys.UP, false, true))) |
| 321 | + .addItem(new MenuItem("Move South", smallSkin, actions.moveTileSouthAction).setAccelerator(new MenuAccelerator(Keys.DOWN, false, true))) |
| 322 | + .addItem(new MenuItem("Move East", smallSkin, actions.moveTileEastAction).setAccelerator(new MenuAccelerator(Keys.LEFT, false, true))) |
| 323 | + .addItem(new MenuItem("Move West", smallSkin, actions.moveTileWestAction).setAccelerator(new MenuAccelerator(Keys.RIGHT, false, true))) |
326 | 324 | .addSeparator()
|
327 |
| - .addItem(new MenuItem("Move Up", smallSkin, Editor.actions.moveTileUpAction).setAccelerator(new MenuAccelerator(Keys.E, false, true))) |
328 |
| - .addItem(new MenuItem("Move Down", smallSkin, Editor.actions.moveTileDownAction).setAccelerator(new MenuAccelerator(Keys.Q, false, true))) |
| 325 | + .addItem(new MenuItem("Move Up", smallSkin, actions.moveTileUpAction).setAccelerator(new MenuAccelerator(Keys.E, false, true))) |
| 326 | + .addItem(new MenuItem("Move Down", smallSkin, actions.moveTileDownAction).setAccelerator(new MenuAccelerator(Keys.Q, false, true))) |
329 | 327 | )
|
330 |
| - .addItem(new MenuItem("Rotate Wall Angle", smallSkin, Editor.actions.rotateWallAngle).setAccelerator(new MenuAccelerator(Keys.U, false, false))) |
| 328 | + .addItem(new MenuItem("Rotate Wall Angle", smallSkin, actions.rotateWallAngle).setAccelerator(new MenuAccelerator(Keys.U, false, false))) |
331 | 329 | .addItem(new MenuItem("Flatten", smallSkin)
|
332 |
| - .addItem(new MenuItem("Floor", smallSkin, Editor.actions.flattenFloor).setAccelerator(new MenuAccelerator(Keys.F, false, false))) |
333 |
| - .addItem(new MenuItem("Ceiling", smallSkin, Editor.actions.flattenCeiling).setAccelerator(new MenuAccelerator(Keys.F, false, true))) |
| 330 | + .addItem(new MenuItem("Floor", smallSkin, actions.flattenFloor).setAccelerator(new MenuAccelerator(Keys.F, false, false))) |
| 331 | + .addItem(new MenuItem("Ceiling", smallSkin, actions.flattenCeiling).setAccelerator(new MenuAccelerator(Keys.F, false, true))) |
334 | 332 | )
|
335 | 333 | .addSeparator()
|
336 | 334 | .addItem(new MenuItem("Pick Textures", smallSkin, pickAction).setAccelerator(new MenuAccelerator(Keys.G, false, false)))
|
337 | 335 | .addItem(new MenuItem("Rotate Texture", smallSkin)
|
338 |
| - .addItem(new MenuItem("Floor", smallSkin, Editor.actions.rotateFloorTexAction).setAccelerator(new MenuAccelerator(Keys.T, false, false))) |
339 |
| - .addItem(new MenuItem("Ceiling", smallSkin, Editor.actions.rotateCeilTexAction).setAccelerator(new MenuAccelerator(Keys.T, false, true))) |
| 336 | + .addItem(new MenuItem("Floor", smallSkin, actions.rotateFloorTexAction).setAccelerator(new MenuAccelerator(Keys.T, false, false))) |
| 337 | + .addItem(new MenuItem("Ceiling", smallSkin, actions.rotateCeilTexAction).setAccelerator(new MenuAccelerator(Keys.T, false, true))) |
340 | 338 | )
|
341 | 339 | .addItem(new MenuItem("Surface", smallSkin)
|
342 |
| - .addItem(new MenuItem("Paint Surface Texture", smallSkin, Editor.actions.paintWallAction).setAccelerator(new MenuAccelerator(Keys.NUM_1, false, false))) |
343 |
| - .addItem(new MenuItem("Grab Surface Texture", smallSkin, Editor.actions.pickWallAction).setAccelerator(new MenuAccelerator(Keys.NUM_2, false, false))) |
344 |
| - .addItem(new MenuItem("Pick Surface Texture", smallSkin, Editor.actions.pickNewWallTexAction).setAccelerator(new MenuAccelerator(Keys.NUM_2, false, true))) |
345 |
| - .addItem(new MenuItem("Flood Fill Surface Texture", smallSkin, Editor.actions.fillTextureAction).setAccelerator(new MenuAccelerator(Keys.NUM_1, false, true))) |
| 340 | + .addItem(new MenuItem("Paint Surface Texture", smallSkin, actions.paintWallAction).setAccelerator(new MenuAccelerator(Keys.NUM_1, false, false))) |
| 341 | + .addItem(new MenuItem("Grab Surface Texture", smallSkin, actions.pickWallAction).setAccelerator(new MenuAccelerator(Keys.NUM_2, false, false))) |
| 342 | + .addItem(new MenuItem("Pick Surface Texture", smallSkin, actions.pickNewWallTexAction).setAccelerator(new MenuAccelerator(Keys.NUM_2, false, true))) |
| 343 | + .addItem(new MenuItem("Flood Fill Surface Texture", smallSkin, actions.fillTextureAction).setAccelerator(new MenuAccelerator(Keys.NUM_1, false, true))) |
346 | 344 | )
|
347 | 345 | );
|
348 | 346 |
|
349 | 347 | menuBar.addItem(
|
350 | 348 | new MenuItem("Entity", smallSkin)
|
351 |
| - .addItem(new MenuItem("Delete", smallSkin, Editor.actions.deleteAction).setAccelerator(new MenuAccelerator(Keys.DEL, false, false))) |
352 |
| - .addItem(new MenuItem("Deselect", smallSkin, Editor.actions.escapeAction).setAccelerator(new MenuAccelerator(Keys.ESCAPE, false, false))) |
| 349 | + .addItem(new MenuItem("Delete", smallSkin, actions.deleteAction).setAccelerator(new MenuAccelerator(Keys.DEL, false, false))) |
| 350 | + .addItem(new MenuItem("Deselect", smallSkin, actions.escapeAction).setAccelerator(new MenuAccelerator(Keys.ESCAPE, false, false))) |
353 | 351 | .addSeparator()
|
354 | 352 | .addItem(new MenuItem("Move", smallSkin)
|
355 |
| - .addItem(new MenuItem("Constrain to X-axis", smallSkin, Editor.actions.xDragMode).setAccelerator(new MenuAccelerator(Keys.X, false, false))) |
356 |
| - .addItem(new MenuItem("Constrain to Y-axis", smallSkin, Editor.actions.yDragMode).setAccelerator(new MenuAccelerator(Keys.Y, false, false))) |
357 |
| - .addItem(new MenuItem("Constrain to Z-axis", smallSkin, Editor.actions.zDragMode).setAccelerator(new MenuAccelerator(Keys.Z, false, false))) |
| 353 | + .addItem(new MenuItem("Constrain to X-axis", smallSkin, actions.xDragMode).setAccelerator(new MenuAccelerator(Keys.X, false, false))) |
| 354 | + .addItem(new MenuItem("Constrain to Y-axis", smallSkin, actions.yDragMode).setAccelerator(new MenuAccelerator(Keys.Y, false, false))) |
| 355 | + .addItem(new MenuItem("Constrain to Z-axis", smallSkin, actions.zDragMode).setAccelerator(new MenuAccelerator(Keys.Z, false, false))) |
358 | 356 | )
|
359 |
| - .addItem(new MenuItem("Rotate", smallSkin, Editor.actions.rotateMode).setAccelerator(new MenuAccelerator(Keys.R, false, false))) |
| 357 | + .addItem(new MenuItem("Rotate", smallSkin, actions.rotateMode).setAccelerator(new MenuAccelerator(Keys.R, false, false))) |
360 | 358 | );
|
361 | 359 |
|
362 | 360 | menuBar.addItem(
|
363 | 361 | new MenuItem("View", smallSkin)
|
364 |
| - .addItem(new MenuItem("Toggle Simulation", smallSkin, Editor.actions.toggleSimulation).setAccelerator(new MenuAccelerator(Keys.B, false, false))) |
365 |
| - .addItem(new MenuItem("Toggle Gizmos", smallSkin, Editor.actions.toggleGizmosAction)) |
366 |
| - .addItem(new MenuItem("Toggle Lights", smallSkin, Editor.actions.toggleLightsAction).setAccelerator(new MenuAccelerator(Keys.L, false, false))) |
| 362 | + .addItem(new MenuItem("Toggle Simulation", smallSkin, actions.toggleSimulation).setAccelerator(new MenuAccelerator(Keys.B, false, false))) |
| 363 | + .addItem(new MenuItem("Toggle Gizmos", smallSkin, actions.toggleGizmosAction)) |
| 364 | + .addItem(new MenuItem("Toggle Lights", smallSkin, actions.toggleLightsAction).setAccelerator(new MenuAccelerator(Keys.L, false, false))) |
367 | 365 | .addSeparator()
|
368 |
| - .addItem(new MenuItem("View Selected", smallSkin, Editor.actions.viewSelectedAction).setAccelerator(new MenuAccelerator(Keys.SPACE, false, false))) |
| 366 | + .addItem(new MenuItem("View Selected", smallSkin, actions.viewSelectedAction).setAccelerator(new MenuAccelerator(Keys.SPACE, false, false))) |
369 | 367 | );
|
370 | 368 |
|
371 | 369 | menuBar.addItem(
|
372 | 370 | new MenuItem("Level", smallSkin)
|
373 |
| - .addItem(new MenuItem("Test Level", smallSkin, Editor.actions.playAction).setAccelerator(new MenuAccelerator(Keys.P, false, false))) |
| 371 | + .addItem(new MenuItem("Test Level", smallSkin, actions.playAction).setAccelerator(new MenuAccelerator(Keys.P, false, false))) |
374 | 372 | .addSeparator()
|
375 | 373 | .addItem(new MenuItem("Rotate Level", smallSkin)
|
376 |
| - .addItem(new MenuItem("Clockwise", smallSkin, Editor.actions.rotateLeftAction)) |
377 |
| - .addItem(new MenuItem("Counter-Clockwise", smallSkin, Editor.actions.rotateRightAction))) |
| 374 | + .addItem(new MenuItem("Clockwise", smallSkin, actions.rotateLeftAction)) |
| 375 | + .addItem(new MenuItem("Counter-Clockwise", smallSkin, actions.rotateRightAction))) |
378 | 376 | .addItem(new MenuItem("Resize Level", smallSkin, resizeWindowAction))
|
379 | 377 | .addSeparator()
|
380 | 378 | .addItem(new MenuItem("Set Theme", smallSkin, setThemeAction))
|
|
0 commit comments