Quellcode durchsuchen

Add create new option to start menu

TollyH vor 2 Jahren
Ursprung
Commit
6e5dcb91e5
1 geänderte Dateien mit 19 neuen und 2 gelöschten Zeilen
  1. 19 2
      scenes/mfc_editor_scene_start.c

+ 19 - 2
scenes/mfc_editor_scene_start.c

@@ -2,6 +2,7 @@
 
 
 enum SubmenuIndex {
 enum SubmenuIndex {
     SubmenuIndexOpen,
     SubmenuIndexOpen,
+    SubmenuIndexCreate,
 };
 };
 
 
 void mfc_editor_scene_start_submenu_callback(void* context, uint32_t index) {
 void mfc_editor_scene_start_submenu_callback(void* context, uint32_t index) {
@@ -13,8 +14,15 @@ void mfc_editor_scene_start_on_enter(void* context) {
     MfcEditorApp* instance = context;
     MfcEditorApp* instance = context;
 
 
     Submenu* submenu = instance->submenu;
     Submenu* submenu = instance->submenu;
+
     submenu_add_item(
     submenu_add_item(
         submenu, "Open", SubmenuIndexOpen, mfc_editor_scene_start_submenu_callback, instance);
         submenu, "Open", SubmenuIndexOpen, mfc_editor_scene_start_submenu_callback, instance);
+    submenu_add_item(
+        submenu,
+        "Create New",
+        SubmenuIndexCreate,
+        mfc_editor_scene_start_submenu_callback,
+        instance);
 
 
     submenu_set_selected_item(
     submenu_set_selected_item(
         submenu, scene_manager_get_scene_state(instance->scene_manager, MfcEditorSceneStart));
         submenu, scene_manager_get_scene_state(instance->scene_manager, MfcEditorSceneStart));
@@ -27,13 +35,22 @@ bool mfc_editor_scene_start_on_event(void* context, SceneManagerEvent event) {
 
 
     if(event.type == SceneManagerEventTypeCustom) {
     if(event.type == SceneManagerEventTypeCustom) {
         if(event.event == SubmenuIndexOpen) {
         if(event.event == SubmenuIndexOpen) {
-            scene_manager_set_scene_state(
-                instance->scene_manager, MfcEditorSceneStart, SubmenuIndexOpen);
             scene_manager_next_scene(instance->scene_manager, MfcEditorSceneFileSelect);
             scene_manager_next_scene(instance->scene_manager, MfcEditorSceneFileSelect);
             consumed = true;
             consumed = true;
+        } else if(event.event == SubmenuIndexCreate) {
+            DialogMessage* message = dialog_message_alloc();
+            dialog_message_set_header(
+                message, "Not implemented", 63, 30, AlignCenter, AlignCenter);
+            dialog_message_show(instance->dialogs, message);
+            dialog_message_free(message);
+            consumed = true;
         }
         }
     }
     }
 
 
+    if(consumed) {
+        scene_manager_set_scene_state(instance->scene_manager, MfcEditorSceneStart, event.event);
+    }
+
     return consumed;
     return consumed;
 }
 }