|
|
@@ -89,61 +89,61 @@ namespace Crown
|
|
|
|
|
|
const Gtk.ActionEntry[] action_entries =
|
|
|
{
|
|
|
- { "menu-file", null, "_File", null, null, null },
|
|
|
- { "new-level", null, "New Level", "<ctrl>N", null, on_new_level },
|
|
|
- { "open-level", null, "Open Level...", "<ctrl>O", null, on_open_level },
|
|
|
- { "open-project", null, "Open Project...", null, null, on_open_project },
|
|
|
- { "save", null, "Save", "<ctrl>S", null, on_save },
|
|
|
- { "save-as", null, "Save As...", "<shift><ctrl>S", null, on_save_as },
|
|
|
- { "import", null, "Import", null, null, null },
|
|
|
- { "import-sprites", null, "Sprites...", null, null, on_import_sprites },
|
|
|
- { "import-meshes", null, "Meshes...", null, null, on_import_meshes },
|
|
|
- { "import-sounds", null, "Sounds...", null, null, on_import_sounds },
|
|
|
- { "import-textures", null, "Textures...", null, null, on_import_textures },
|
|
|
- { "preferences", null, "Preferences", null, null, on_preferences },
|
|
|
- { "deploy", null, "Deploy...", null, null, on_deploy },
|
|
|
- { "quit", null, "Quit", "<ctrl>Q", null, on_quit },
|
|
|
- { "menu-edit", null, "_Edit", null, null, null },
|
|
|
- { "undo", null, "Undo", "<ctrl>Z", null, on_undo },
|
|
|
- { "redo", null, "Redo", "<shift><ctrl>Z", null, on_redo },
|
|
|
- { "duplicate", null, "Duplicate", "<ctrl>D", null, on_duplicate },
|
|
|
- { "delete", null, "Delete", "<ctrl>K", null, on_delete },
|
|
|
- { "menu-grid", null, "Grid", null, null, null },
|
|
|
- { "grid-custom", null, "Custom", "<ctrl>G", null, on_custom_grid },
|
|
|
- { "menu-rotation-snap", null, "Rotation Snap", null, null, null },
|
|
|
- { "rotation-snap-custom", null, "Custom", "<ctrl>H", null, on_rotation_snap },
|
|
|
- { "menu-create", null, "Create", null, null, null },
|
|
|
- { "menu-primitives", null, "Primitives", null, null, null },
|
|
|
- { "primitive-cube", null, "Cube", null, null, on_create_cube },
|
|
|
- { "primitive-sphere", null, "Sphere", null, null, on_create_sphere },
|
|
|
- { "primitive-cone", null, "Cone", null, null, on_create_cone },
|
|
|
- { "primitive-cylinder", null, "Cylinder", null, null, on_create_cylinder },
|
|
|
- { "primitive-plane", null, "Plane", null, null, on_create_plane },
|
|
|
- { "camera", null, "Camera", null, null, on_create_camera },
|
|
|
- { "light", null, "Light", null, null, on_create_light },
|
|
|
- { "sound-source", null, "Sound Source", null, null, on_create_sound_source },
|
|
|
- { "menu-camera", null, "Camera", null, null, null },
|
|
|
- { "camera-view-perspective", null, "Perspective", "KP_5", null, on_camera_view_perspective },
|
|
|
- { "camera-view-front", null, "View Front", "KP_1", null, on_camera_view_front },
|
|
|
- { "camera-view-back", null, "View Back", "<ctrl>KP_1", null, on_camera_view_back },
|
|
|
- { "camera-view-right", null, "View Right", "KP_3", null, on_camera_view_right },
|
|
|
- { "camera-view-left", null, "View Left", "<ctrl>KP_3", null, on_camera_view_left },
|
|
|
- { "camera-view-top", null, "View Top", "KP_7", null, on_camera_view_top },
|
|
|
- { "camera-view-bottom", null, "View Bottom", "<ctrl>KP_7", null, on_camera_view_bottom },
|
|
|
- { "menu-engine", null, "En_gine", null, null, null },
|
|
|
- { "menu-view", null, "View", null, null, null },
|
|
|
- { "resource-browser", null, "Resource Browser", "<ctrl>P", null, on_resource_browser },
|
|
|
- { "fullscreen", null, "Fullscreen", "F11", null, on_fullscreen },
|
|
|
- { "restart", null, "_Restart", null, null, on_engine_restart },
|
|
|
- { "reload-lua", null, "Reload Level Editor","F7", null, on_reload_lua },
|
|
|
- { "menu-run", null, "_Run", null, null, null },
|
|
|
- { "test-level", "run", "Test Level", "F5", "Test Level", on_test_level },
|
|
|
- { "run-game", null, "Run Game", null, null, on_run_game },
|
|
|
- { "menu-help", null, "Help", null, null, null },
|
|
|
- { "manual", null, "Manual", "F1", null, on_manual },
|
|
|
- { "report-issue", null, "Report an Issue", null, null, on_report_issue },
|
|
|
- { "open-last-log", null, "Open last.log", null, null, on_open_last_log },
|
|
|
- { "about", null, "About", null, null, on_about }
|
|
|
+ { "menu-file", null, "_File", null, null, null },
|
|
|
+ { "new-level", null, "New Level", "<ctrl>N", null, on_new_level },
|
|
|
+ { "open-level", null, "Open Level...", "<ctrl>O", null, on_open_level },
|
|
|
+ { "open-project", null, "Open Project...", null, null, on_open_project },
|
|
|
+ { "save", null, "Save", "<ctrl>S", null, on_save },
|
|
|
+ { "save-as", null, "Save As...", "<shift><ctrl>S", null, on_save_as },
|
|
|
+ { "import", null, "Import", null, null, null },
|
|
|
+ { "import-sprites", null, "Sprites...", null, null, on_import_sprites },
|
|
|
+ { "import-meshes", null, "Meshes...", null, null, on_import_meshes },
|
|
|
+ { "import-sounds", null, "Sounds...", null, null, on_import_sounds },
|
|
|
+ { "import-textures", null, "Textures...", null, null, on_import_textures },
|
|
|
+ { "preferences", null, "Preferences", null, null, on_preferences },
|
|
|
+ { "deploy", null, "Deploy...", null, null, on_deploy },
|
|
|
+ { "quit", null, "Quit", "<ctrl>Q", null, on_quit },
|
|
|
+ { "menu-edit", null, "_Edit", null, null, null },
|
|
|
+ { "undo", null, "Undo", "<ctrl>Z", null, on_undo },
|
|
|
+ { "redo", null, "Redo", "<shift><ctrl>Z", null, on_redo },
|
|
|
+ { "duplicate", null, "Duplicate", "<ctrl>D", null, on_duplicate },
|
|
|
+ { "delete", null, "Delete", "<ctrl>K", null, on_delete },
|
|
|
+ { "menu-grid", null, "Grid", null, null, null },
|
|
|
+ { "grid-custom", null, "Custom", "<ctrl>G", null, on_custom_grid },
|
|
|
+ { "menu-rotation-snap", null, "Rotation Snap", null, null, null },
|
|
|
+ { "rotation-snap-custom", null, "Custom", "<ctrl>H", null, on_rotation_snap },
|
|
|
+ { "menu-create", null, "Create", null, null, null },
|
|
|
+ { "menu-primitives", null, "Primitives", null, null, null },
|
|
|
+ { "primitive-cube", null, "Cube", null, null, on_create_cube },
|
|
|
+ { "primitive-sphere", null, "Sphere", null, null, on_create_sphere },
|
|
|
+ { "primitive-cone", null, "Cone", null, null, on_create_cone },
|
|
|
+ { "primitive-cylinder", null, "Cylinder", null, null, on_create_cylinder },
|
|
|
+ { "primitive-plane", null, "Plane", null, null, on_create_plane },
|
|
|
+ { "camera", null, "Camera", null, null, on_create_camera },
|
|
|
+ { "light", null, "Light", null, null, on_create_light },
|
|
|
+ { "sound-source", null, "Sound Source", null, null, on_create_sound_source },
|
|
|
+ { "menu-camera", null, "Camera", null, null, null },
|
|
|
+ { "camera-view-perspective", null, "Perspective", "KP_5", null, on_camera_view_perspective },
|
|
|
+ { "camera-view-front", null, "View Front", "KP_1", null, on_camera_view_front },
|
|
|
+ { "camera-view-back", null, "View Back", "<ctrl>KP_1", null, on_camera_view_back },
|
|
|
+ { "camera-view-right", null, "View Right", "KP_3", null, on_camera_view_right },
|
|
|
+ { "camera-view-left", null, "View Left", "<ctrl>KP_3", null, on_camera_view_left },
|
|
|
+ { "camera-view-top", null, "View Top", "KP_7", null, on_camera_view_top },
|
|
|
+ { "camera-view-bottom", null, "View Bottom", "<ctrl>KP_7", null, on_camera_view_bottom },
|
|
|
+ { "menu-engine", null, "En_gine", null, null, null },
|
|
|
+ { "menu-view", null, "View", null, null, null },
|
|
|
+ { "resource-browser", null, "Resource Browser", "<ctrl>P", null, on_resource_browser },
|
|
|
+ { "fullscreen", null, "Fullscreen", "F11", null, on_fullscreen },
|
|
|
+ { "restart", null, "_Restart", null, null, on_engine_restart },
|
|
|
+ { "reload-lua", null, "Reload Level Editor", "F7", null, on_reload_lua },
|
|
|
+ { "menu-run", null, "_Run", null, null, null },
|
|
|
+ { "test-level", "game-run", "Test Level", "F5", "Test Level", on_run_game },
|
|
|
+ { "run-game", null, "Run Game", null, null, on_run_game },
|
|
|
+ { "menu-help", null, "Help", null, null, null },
|
|
|
+ { "manual", null, "Manual", "F1", null, on_manual },
|
|
|
+ { "report-issue", null, "Report an Issue", null, null, on_report_issue },
|
|
|
+ { "open-last-log", null, "Open last.log", null, null, on_open_last_log },
|
|
|
+ { "about", null, "About", null, null, on_about }
|
|
|
};
|
|
|
|
|
|
const Gtk.RadioActionEntry[] grid_entries =
|
|
|
@@ -397,6 +397,7 @@ namespace Crown
|
|
|
|
|
|
private void on_game_disconnected()
|
|
|
{
|
|
|
+ _action_group.get_action("test-level").icon_name = "game-run";
|
|
|
_console_view.logi("editor", "Game disconnected");
|
|
|
_project.delete_level_editor_test_level();
|
|
|
}
|
|
|
@@ -1409,14 +1410,18 @@ namespace Crown
|
|
|
send_state();
|
|
|
}
|
|
|
|
|
|
- private void on_test_level(Gtk.Action action)
|
|
|
- {
|
|
|
- start_game(StartGame.TEST);
|
|
|
- }
|
|
|
-
|
|
|
private void on_run_game(Gtk.Action action)
|
|
|
{
|
|
|
- start_game(StartGame.NORMAL);
|
|
|
+ if (_game.is_connected())
|
|
|
+ {
|
|
|
+ stop_game();
|
|
|
+ action.icon_name = "game-run";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ start_game(action.name == "test-level" ? StartGame.TEST : StartGame.NORMAL);
|
|
|
+ action.icon_name = "game-stop";
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private void on_undo(Gtk.Action action)
|