Beispiel #1
0
        /*
         *
         * public static void OnKeyDown_Dialog(InputEventArgs e)
         * {
         *  if (isHidden || Demo.mode != Demo.InputMode.Dialog)
         *  {
         *      return;
         *  }
         *  else
         *  {
         *      if ((e.KeyCode == KeyCode.Up || (Demo.hjkl && e.KeyCode == KeyCode.K)) && currentDialog.options.Count > 1 && currentOption > 0)
         *          currentOption--;
         *      else if ((e.KeyCode == KeyCode.Down || (Demo.hjkl && e.KeyCode == KeyCode.J)) && currentDialog.options.Count > 1 && currentOption < currentDialog.options.Count - 1)
         *          currentOption++;
         *      else if (e.KeyCode == DialogBrowser.confirmKey && currentDialog.options[currentOption].enabled &&
         *               (currentDialog.options[currentOption].linksTo != null ||
         *                currentDialog.options[currentOption].eventLink != null
         || currentDialog.options[currentOption].actionLink != null))
         ||     {
         ||        // dialogItemForFinish = currentUI.currentDialog.menu[currentUI.currentDialog.currentDialogItem];
         ||         //dialogItemsForRecall.Add(currentUI.currentDialog.menu[currentUI.currentDialog.currentDialogItem]);
         ||         currentDialog.options[currentOption].enabled = false;
         ||         currentDialog.options[currentOption].handleAction(e);
         ||     }
         ||     else if (e.KeyCode == DialogBrowser.backKey)
         ||     {
         ||         currentOption = (currentDialog.options.Count > 1) ? 1 : 0;
         ||     }
         ||     return;
         || }
         ||}*/

        public static void OnKeyDown_Dialog(InputEventArgs e)
        {
            if (isHidden || Demo.mode != InputMode.Dialog)
            {
                return;
            }
            else
            {
                if ((e.KeyCode == KeyCode.Up || (Demo.hjkl && e.KeyCode == KeyCode.K)) && currentUI.currentDialog.options.Count > 1 && currentUI.currentDialog.currentOption > 0)
                {
                    currentUI.currentDialog.currentOption--;
                }
                else if ((e.KeyCode == KeyCode.Down || (Demo.hjkl && e.KeyCode == KeyCode.J)) && currentUI.currentDialog.options.Count > 1 && currentUI.currentDialog.currentOption < currentUI.currentDialog.options.Count - 1)
                {
                    currentUI.currentDialog.currentOption++;
                }
                else if (e.KeyCode == ScreenBrowser.confirmKey && //currentUI.currentDialog.options[currentUI.currentDialog.currentOption].enabled &&
                         (currentUI.currentDialog.options[currentUI.currentDialog.currentOption].linksTo != null ||
                          currentUI.currentDialog.options[currentUI.currentDialog.currentOption].eventLink != null ||
                          currentUI.currentDialog.options[currentUI.currentDialog.currentOption].actionLink != null))
                {
                    dialogItemForFinish = currentUI.currentDialog.options[currentUI.currentDialog.currentOption];
                    dialogItemsForRecall.Add(currentUI.currentDialog.options[currentUI.currentDialog.currentOption]);
                    //currentUI.currentDialog.options[currentUI.currentDialog.currentOption].enabled = false;
                    currentUI.currentDialog.options[currentUI.currentDialog.currentOption].handleAction(e);
                }
                else if (e.KeyCode == ScreenBrowser.backKey && currentUI.currentDialog.previousDialog != null && currentUI.currentDialog != currentUI.initialDialog)
                {
                    //currentUI.currentDialog.options[currentUI.currentDialog.currentOption].enabled = true;
                    NavigateBackward(currentUI.currentDialog);
                    HandleRecall();
                }
                return;
            }
        }
Beispiel #2
0
 public static void HandleFinish()
 {
     if (dialogItemForFinish != null)
     {
         dialogItemsForRecall.Clear();
         dialogItemForFinish.handleFinish();
         dialogItemForFinish = null;
     }
 }
Beispiel #3
0
        public static DialogUI CreateYesNoDialog(string speaker, List <string> startText, LinkedAction yesAction, LinkedAction noAction)
        {
            FontSurface fnt           = FontSurface.BitmapMonospace("Resources" + "/" + "monkey.png", new Size(6, 14));
            Dialog      initialDialog = new Dialog(speaker, startText, new List <DialogItem>());
            DialogItem  yesItem       = new DialogItem("Yes", null, null, yesAction),
                        noItem        = new DialogItem("No", null, null, noAction);

            initialDialog.options.Add(yesItem);
            initialDialog.options.Add(noItem);
            initialDialog.setSize();
            //attackChoices.menu.Add(new DialogItem("Scorch", null, Demo.OnKeyDown_SelectSkill));
            DialogUI dui = new DialogUI(initialDialog, fnt);

            dui.allDialogItems.Add(yesItem);
            dui.allDialogItems.Add(noItem);
            return(dui);
        }
Beispiel #4
0
        public static DialogUI CreateLoadGameDialog(SortedDictionary <DateTime, Demo.GameState> allSavedStates)
        {
            FontSurface fnt          = FontSurface.BitmapMonospace("Resources" + "/" + "monkey.png", new Size(6, 14));
            Dialog      chooseDialog = new Dialog("The Narrator", new List <String>()
            {
                "Choose a saved game:"
            }, new List <DialogItem>()),
                        finishedLoadDialog = new Dialog("The Narrator", new List <String>()
            {
                "Are you ready?"
            }, new List <DialogItem>()),
                        cannotLoadDialog = new Dialog("The Narrator", new List <String>()
            {
                "Play a little first, then you will have a game to load."
            }, new List <DialogItem>());
            DialogItem newGameItem = new DialogItem("New Game", chooseDialog, null, Demo.Init),
                       endOKItem   = new DialogItem("OK!", null, null, DialogBrowser.Hide);

            if (!System.IO.File.Exists("save.mobsav"))
            {
                chooseDialog.options = new List <DialogItem>()
                {
                    new DialogItem("[No Previous Game]", cannotLoadDialog, null)
                };
            }
            finishedLoadDialog.options.Add(endOKItem);
            finishedLoadDialog.setSize();
            finishedLoadDialog.previousDialog = null;
            //            finishedLoadDialog.options.Add(endOKItem);
            DialogUI dui = new DialogUI(chooseDialog, fnt);

            foreach (DateTime dt in Demo.allSavedStates.Keys)
            {
                chooseDialog.options.Add(new DialogItem("Saved on " + dt.ToShortDateString() + " at " + dt.ToShortTimeString(), null, null, Demo.LoadGame));
            }
            chooseDialog.setSize();
            dui.allDialogItems.AddRange(chooseDialog.options);
            chooseDialog.previousDialog = null;
            cannotLoadDialog.options.Add(newGameItem);
            cannotLoadDialog.setSize();
            cannotLoadDialog.previousDialog = null;
            //attackChoices.menu.Add(new DialogItem("Scorch", null, Demo.OnKeyDown_SelectSkill));
            dui.allDialogItems.Add(newGameItem);
            return(dui);
        }
Beispiel #5
0
        }/*
          * public void ShowOld()
          * {
          * string tx = mandrillDict['┌'].ToString();
          * tx = tx.PadRight(maxWidth - 1, mandrillDict['─']);
          * tx += mandrillDict['┐'];
          * //            for (int i = 1; i < maxWidth - 1; i++)
          * //              tx += mandrillDict['─'];
          *
          * font.DrawText(10.0, font.FontHeight * 1, tx);
          * font.DrawText(10.0, font.FontHeight * 2, mandrillDict['│'] + currentDialog.speaker.PadRight(maxWidth - 2, ' ') + mandrillDict['│']);
          *
          * tx = mandrillDict['├'].ToString();
          * tx = tx.PadRight(maxWidth - 1, mandrillDict['─']);
          * tx += mandrillDict['┤'];
          * font.DrawText(10.0, font.FontHeight * 3, tx);
          * for (int i = 0; i < currentDialog.options.Count; i++)
          * {
          *     font.DrawText(10.0, font.FontHeight * (4 + i), "" + mandrillDict['│']);
          *     if (i == currentDialog.)
          *     {
          *         if (currentDialog.menu[i].enabled)
          *             font.Color = Color.Red;
          *         else
          *             font.Color = Color.Gray;
          *         font.DrawText(16.0, font.FontHeight * (4 + i), "> " + currentDialog.menu[i].text.PadRight(maxWidth - 4, ' '));
          *
          *     }
          *     else
          *     {
          *         if (currentDialog.menu[i].enabled)
          *             font.Color = Color.White;
          *         else
          *             font.Color = Color.Gray;
          *         font.DrawText(16.0, font.FontHeight * (4 + i), currentDialog.menu[i].text.PadRight(maxWidth - 2, ' '));
          *
          *     }
          *     font.Color = Color.White;
          *     font.DrawText(10.0 + 6.0 * (maxWidth - 1), font.FontHeight * (4 + i), "" + mandrillDict['│']);
          * }
          *
          * tx = mandrillDict['└'].ToString();
          * tx = tx.PadRight(maxWidth - 1, mandrillDict['─']);
          * tx += mandrillDict['┘'];
          * font.DrawText(10.0, font.FontHeight * (4 + currentDialog.options.Count), tx);
          * }*/

        public static DialogUI InitUI()
        {
            FontSurface fnt           = FontSurface.BitmapMonospace("Resources" + "/" + "monkey.png", new Size(6, 14));
            Dialog      initialDialog = new Dialog("The Narrator", new List <String>()
            {
                "Welcome to the Unpleasant Dungeon!", "Navigate through menus with the arrow keys.",
                "Confirm a selection with the " + ScreenBrowser.confirmKey.ToString() + " key.", "Do you understand?"
            }, new List <DialogItem>()),
                        yesDialog = new Dialog("The Narrator", new List <String>()
            {
                "Great!", "You can press " + ScreenBrowser.backKey.ToString() + " to go back in menus and dialogs.", "Are you ready to start?"
            }, new List <DialogItem>()),
                        noDialog = new Dialog("The Narrator", new List <String>()
            {
                "Then how did you get here?"
            }, new List <DialogItem>());
            DialogItem yesItem   = new DialogItem("Yes", yesDialog, null),
                       noItem    = new DialogItem("No", noDialog, null),
                       endOKItem = new DialogItem("OK!", null, null, DialogBrowser.Hide),
                       huhItem   = new DialogItem("???", initialDialog, null);

            initialDialog.options.Add(yesItem);
            initialDialog.options.Add(noItem);
            initialDialog.setSize();
            yesDialog.options.Add(endOKItem);
            yesDialog.setSize();
            noDialog.options.Add(huhItem);
            noDialog.setSize();
            yesDialog.previousDialog = initialDialog;
            noDialog.previousDialog  = initialDialog;
            //attackChoices.menu.Add(new DialogItem("Scorch", null, Demo.OnKeyDown_SelectSkill));
            DialogUI dui = new DialogUI(initialDialog, fnt);

            dui.allDialogItems.Add(yesItem);
            dui.allDialogItems.Add(noItem);
            return(dui);
        }
Beispiel #6
0
        public static DialogUI InitLoadUI()
        {
            FontSurface fnt           = FontSurface.BitmapMonospace("Resources" + "/" + "monkey.png", new Size(6, 14));
            Dialog      initialDialog = new Dialog("The Narrator", new List <String>()
            {
                "Welcome to the Unpleasant Dungeon!", "Navigate through menus with the arrow keys.",
                "Confirm a selection with the " + ScreenBrowser.confirmKey.ToString() + " key.", "You can press " + ScreenBrowser.backKey.ToString() + " to go back in menus and dialogs.",
                "You can quit this game by pressing Q, which will also give you the option to Save.",
                "Do you want to start a new game, or load a previous game?"
            }, new List <DialogItem>()),
                        finishedLoadDialog = new Dialog("The Narrator", new List <String>()
            {
                "Choose a saved game:"
            }, new List <DialogItem>()),
                        remapConfirmDialog = new Dialog("The Narrator", new List <String>()
            {
                "Remap the Confirm Key.", "Confirm is currently " + ScreenBrowser.confirmKey.ToString() + ".",
                "Back is currently " + ScreenBrowser.backKey.ToString() + "."
            }, new List <DialogItem>()),
                        remapBackDialog = new Dialog("The Narrator", new List <String>()
            {
                "Remap the Back Key:", "Confirm is currently " + ScreenBrowser.confirmKey.ToString() + ".",
                "Back is currently " + ScreenBrowser.backKey.ToString() + "."
            }, new List <DialogItem>()),
                        cannotLoadDialog = new Dialog("The Narrator", new List <String>()
            {
                "Play a little first, then you will have a game to load."
            }, new List <DialogItem>());
            DialogItem newGameItem        = new DialogItem("New Game", finishedLoadDialog, null, Demo.Init),
                       loadItem           = new DialogItem("Load Previous Game", null, null, Demo.LoadStates),
                       remapItem          = new DialogItem("Use Different Keys", remapConfirmDialog, null, RegisterConfirmKey),
                       remapConfirmOKItem = new DialogItem("OK", remapBackDialog, null, RegisterBackKey),
                       remapBackOKItem    = new DialogItem("OK", initialDialog, null, AssignInitialDialog),
                       endOKItem          = new DialogItem("OK!", null, null, DialogBrowser.Hide);

            if (!System.IO.File.Exists("save.mobsav"))
            {
                loadItem = new DialogItem("[No Previous Game]", cannotLoadDialog, null);
            }
            initialDialog.options.Add(newGameItem);
            initialDialog.options.Add(loadItem);
            initialDialog.options.Add(remapItem);
            initialDialog.setSize();
            initialDialog.previousDialog = null;
//            finishedLoadDialog.options.Add(endOKItem);
            finishedLoadDialog.setSize();
            finishedLoadDialog.previousDialog = null;
            remapConfirmDialog.options.Add(remapConfirmOKItem);
            remapConfirmDialog.setSize();
            remapConfirmDialog.previousDialog = initialDialog;
            remapBackDialog.options.Add(remapBackOKItem);
            remapBackDialog.setSize();
            remapBackDialog.previousDialog = remapConfirmDialog;
            cannotLoadDialog.options.Add(newGameItem);
            cannotLoadDialog.setSize();
            cannotLoadDialog.previousDialog = null;
            //attackChoices.menu.Add(new DialogItem("Scorch", null, Demo.OnKeyDown_SelectSkill));
            DialogUI dui = new DialogUI(initialDialog, fnt);

            dui.allDialogItems.Add(newGameItem);
            dui.allDialogItems.Add(loadItem);
            return(dui);
        }
Beispiel #7
0
        public static DialogUI CreateLoadGameDialog(SortedDictionary<DateTime, Demo.GameState> allSavedStates)
        {
            FontSurface fnt = FontSurface.BitmapMonospace("Resources" + "/" + "monkey.png", new Size(6, 14));
            Dialog chooseDialog = new Dialog("The Narrator", new List<String>() { "Choose a saved game:" }, new List<DialogItem>()),
                finishedLoadDialog = new Dialog("The Narrator", new List<String>() { "Are you ready?" }, new List<DialogItem>()),
                cannotLoadDialog = new Dialog("The Narrator", new List<String>() { "Play a little first, then you will have a game to load." }, new List<DialogItem>());
            DialogItem newGameItem = new DialogItem("New Game", chooseDialog, null, Demo.Init),
                endOKItem = new DialogItem("OK!", null, null, DialogBrowser.Hide);
            if (!System.IO.File.Exists("save.mobsav"))
            {
                chooseDialog.options = new List<DialogItem>(){ new DialogItem("[No Previous Game]", cannotLoadDialog, null)};
            }
            finishedLoadDialog.options.Add(endOKItem);
            finishedLoadDialog.setSize();
            finishedLoadDialog.previousDialog = null;
            //            finishedLoadDialog.options.Add(endOKItem);
            DialogUI dui = new DialogUI(chooseDialog, fnt);
            foreach (DateTime dt in Demo.allSavedStates.Keys)
            {
                chooseDialog.options.Add(new DialogItem("Saved on " + dt.ToShortDateString() + " at " + dt.ToShortTimeString(), null, null, Demo.LoadGame));

            }
            chooseDialog.setSize();
            dui.allDialogItems.AddRange(chooseDialog.options);
            chooseDialog.previousDialog = null;
            cannotLoadDialog.options.Add(newGameItem);
            cannotLoadDialog.setSize();
            cannotLoadDialog.previousDialog = null;
            //attackChoices.menu.Add(new DialogItem("Scorch", null, Demo.OnKeyDown_SelectSkill));
            dui.allDialogItems.Add(newGameItem);
            return dui;   
        }
Beispiel #8
0
        public static DialogUI InitLoadUI()
        {
            FontSurface fnt = FontSurface.BitmapMonospace("Resources" + "/" + "monkey.png", new Size(6, 14));
            Dialog initialDialog = new Dialog("The Narrator", new List<String>() {"Welcome to the Unpleasant Dungeon!", "Navigate through menus with the arrow keys.",
                "Confirm a selection with the "+ ScreenBrowser.confirmKey.ToString() + " key.", "You can press "+ ScreenBrowser.backKey.ToString() + " to go back in menus and dialogs.", 
                "You can quit this game by pressing Q, which will also give you the option to Save.",
                "Do you want to start a new game, or load a previous game?"}, new List<DialogItem>()),
                finishedLoadDialog = new Dialog("The Narrator", new List<String>() { "Choose a saved game:" }, new List<DialogItem>()),
                remapConfirmDialog = new Dialog("The Narrator", new List<String>() { "Remap the Confirm Key.", "Confirm is currently " + ScreenBrowser.confirmKey.ToString() + ".",
                    "Back is currently " + ScreenBrowser.backKey.ToString() + "." }, new List<DialogItem>()),
                remapBackDialog = new Dialog("The Narrator", new List<String>() { "Remap the Back Key:", "Confirm is currently " + ScreenBrowser.confirmKey.ToString() + "." ,
                    "Back is currently " + ScreenBrowser.backKey.ToString() + "." }, new List<DialogItem>()),
                cannotLoadDialog = new Dialog("The Narrator", new List<String>() { "Play a little first, then you will have a game to load." }, new List<DialogItem>());
            DialogItem newGameItem = new DialogItem("New Game", finishedLoadDialog, null, Demo.Init),
                loadItem = new DialogItem("Load Previous Game", null, null, Demo.LoadStates),
                remapItem = new DialogItem("Use Different Keys", remapConfirmDialog, null, RegisterConfirmKey),
                remapConfirmOKItem = new DialogItem("OK", remapBackDialog, null, RegisterBackKey),
                remapBackOKItem = new DialogItem("OK", initialDialog, null, AssignInitialDialog),
                endOKItem = new DialogItem("OK!", null, null, DialogBrowser.Hide);
            if (!System.IO.File.Exists("save.mobsav"))
                loadItem = new DialogItem("[No Previous Game]", cannotLoadDialog, null);
            initialDialog.options.Add(newGameItem);
            initialDialog.options.Add(loadItem);
            initialDialog.options.Add(remapItem);
            initialDialog.setSize();
            initialDialog.previousDialog = null;
//            finishedLoadDialog.options.Add(endOKItem);
            finishedLoadDialog.setSize();
            finishedLoadDialog.previousDialog = null;
            remapConfirmDialog.options.Add(remapConfirmOKItem);
            remapConfirmDialog.setSize();
            remapConfirmDialog.previousDialog = initialDialog;
            remapBackDialog.options.Add(remapBackOKItem);
            remapBackDialog.setSize();
            remapBackDialog.previousDialog = remapConfirmDialog;
            cannotLoadDialog.options.Add(newGameItem);
            cannotLoadDialog.setSize();
            cannotLoadDialog.previousDialog = null;
            //attackChoices.menu.Add(new DialogItem("Scorch", null, Demo.OnKeyDown_SelectSkill));
            DialogUI dui = new DialogUI(initialDialog, fnt);
            dui.allDialogItems.Add(newGameItem);
            dui.allDialogItems.Add(loadItem);
            return dui;   
        }
Beispiel #9
0
 public static DialogUI CreateYesNoDialog(string speaker, List<string> startText, LinkedAction yesAction, LinkedAction noAction)
 {
     FontSurface fnt = FontSurface.BitmapMonospace("Resources" + "/" + "monkey.png", new Size(6, 14));
     Dialog initialDialog = new Dialog(speaker, startText, new List<DialogItem>());
     DialogItem yesItem = new DialogItem("Yes", null, null, yesAction),
         noItem = new DialogItem("No", null, null, noAction);
     initialDialog.options.Add(yesItem);
     initialDialog.options.Add(noItem);
     initialDialog.setSize();
     //attackChoices.menu.Add(new DialogItem("Scorch", null, Demo.OnKeyDown_SelectSkill));
     DialogUI dui = new DialogUI(initialDialog, fnt);
     dui.allDialogItems.Add(yesItem);
     dui.allDialogItems.Add(noItem);
     return dui;
 }
Beispiel #10
0
        }/*
        public void ShowOld()
        {
            string tx = mandrillDict['┌'].ToString();
            tx = tx.PadRight(maxWidth - 1, mandrillDict['─']);
            tx += mandrillDict['┐'];
            //            for (int i = 1; i < maxWidth - 1; i++)
            //              tx += mandrillDict['─'];

            font.DrawText(10.0, font.FontHeight * 1, tx);
            font.DrawText(10.0, font.FontHeight * 2, mandrillDict['│'] + currentDialog.speaker.PadRight(maxWidth - 2, ' ') + mandrillDict['│']);

            tx = mandrillDict['├'].ToString();
            tx = tx.PadRight(maxWidth - 1, mandrillDict['─']);
            tx += mandrillDict['┤'];
            font.DrawText(10.0, font.FontHeight * 3, tx);
            for (int i = 0; i < currentDialog.options.Count; i++)
            {
                font.DrawText(10.0, font.FontHeight * (4 + i), "" + mandrillDict['│']);
                if (i == currentDialog.)
                {
                    if (currentDialog.menu[i].enabled)
                        font.Color = Color.Red;
                    else
                        font.Color = Color.Gray;
                    font.DrawText(16.0, font.FontHeight * (4 + i), "> " + currentDialog.menu[i].text.PadRight(maxWidth - 4, ' '));

                }
                else
                {
                    if (currentDialog.menu[i].enabled)
                        font.Color = Color.White;
                    else
                        font.Color = Color.Gray;
                    font.DrawText(16.0, font.FontHeight * (4 + i), currentDialog.menu[i].text.PadRight(maxWidth - 2, ' '));

                }
                font.Color = Color.White;
                font.DrawText(10.0 + 6.0 * (maxWidth - 1), font.FontHeight * (4 + i), "" + mandrillDict['│']);
            }

            tx = mandrillDict['└'].ToString();
            tx = tx.PadRight(maxWidth - 1, mandrillDict['─']);
            tx += mandrillDict['┘'];
            font.DrawText(10.0, font.FontHeight * (4 + currentDialog.options.Count), tx);
        }*/
        public static DialogUI InitUI()
        {
            FontSurface fnt = FontSurface.BitmapMonospace("Resources" + "/" + "monkey.png", new Size(6, 14));
            Dialog initialDialog = new Dialog("The Narrator", new List<String>() {"Welcome to the Unpleasant Dungeon!", "Navigate through menus with the arrow keys.",
                "Confirm a selection with the "+ ScreenBrowser.confirmKey.ToString() + " key.", "Do you understand?"}, new List<DialogItem>()),
                yesDialog = new Dialog("The Narrator", new List<String>() { "Great!", "You can press " + ScreenBrowser.backKey.ToString() + " to go back in menus and dialogs.", "Are you ready to start?" }, new List<DialogItem>()),
                noDialog = new Dialog("The Narrator", new List<String>() { "Then how did you get here?" }, new List<DialogItem>());
            DialogItem yesItem = new DialogItem("Yes", yesDialog, null),
                noItem = new DialogItem("No", noDialog, null),
                endOKItem = new DialogItem("OK!", null, null, DialogBrowser.Hide),
                huhItem = new DialogItem("???", initialDialog, null);
            initialDialog.options.Add(yesItem);
            initialDialog.options.Add(noItem);
            initialDialog.setSize();
            yesDialog.options.Add(endOKItem);
            yesDialog.setSize();
            noDialog.options.Add(huhItem);
            noDialog.setSize();
            yesDialog.previousDialog = initialDialog;
            noDialog.previousDialog = initialDialog;
            //attackChoices.menu.Add(new DialogItem("Scorch", null, Demo.OnKeyDown_SelectSkill));
            DialogUI dui = new DialogUI(initialDialog, fnt);
            dui.allDialogItems.Add(yesItem);
            dui.allDialogItems.Add(noItem);
            return dui;
        }
Beispiel #11
0
 public static void HandleFinish()
 {
     if (dialogItemForFinish != null)
     {
         dialogItemsForRecall.Clear();
         dialogItemForFinish.handleFinish();
         dialogItemForFinish = null;
     }
 }
Beispiel #12
0
        /*
         
        public static void OnKeyDown_Dialog(InputEventArgs e)
        {
            if (isHidden || Demo.mode != Demo.InputMode.Dialog)
            {
                return;
            }
            else
            {
                if ((e.KeyCode == KeyCode.Up || (Demo.hjkl && e.KeyCode == KeyCode.K)) && currentDialog.options.Count > 1 && currentOption > 0)
                    currentOption--;
                else if ((e.KeyCode == KeyCode.Down || (Demo.hjkl && e.KeyCode == KeyCode.J)) && currentDialog.options.Count > 1 && currentOption < currentDialog.options.Count - 1)
                    currentOption++;
                else if (e.KeyCode == DialogBrowser.confirmKey && currentDialog.options[currentOption].enabled &&
                         (currentDialog.options[currentOption].linksTo != null ||
                          currentDialog.options[currentOption].eventLink != null
                       || currentDialog.options[currentOption].actionLink != null))
                {
                   // dialogItemForFinish = currentUI.currentDialog.menu[currentUI.currentDialog.currentDialogItem];
                    //dialogItemsForRecall.Add(currentUI.currentDialog.menu[currentUI.currentDialog.currentDialogItem]);
                    currentDialog.options[currentOption].enabled = false;
                    currentDialog.options[currentOption].handleAction(e);
                }
                else if (e.KeyCode == DialogBrowser.backKey)
                {
                    currentOption = (currentDialog.options.Count > 1) ? 1 : 0;
                }
                return;
            }
        }*/

        public static void OnKeyDown_Dialog(InputEventArgs e)
        {
            if (isHidden || Demo.mode != InputMode.Dialog)
            {
                return;
            }
            else
            {
                if ((e.KeyCode == KeyCode.Up || (Demo.hjkl && e.KeyCode == KeyCode.K)) && currentUI.currentDialog.options.Count > 1 && currentUI.currentDialog.currentOption > 0)
                {
                    currentUI.currentDialog.currentOption--;
                    
                }
                else if ((e.KeyCode == KeyCode.Down || (Demo.hjkl && e.KeyCode == KeyCode.J)) && currentUI.currentDialog.options.Count > 1 && currentUI.currentDialog.currentOption < currentUI.currentDialog.options.Count - 1)
                {
                    currentUI.currentDialog.currentOption++;
                }
                else if (e.KeyCode == ScreenBrowser.confirmKey && //currentUI.currentDialog.options[currentUI.currentDialog.currentOption].enabled &&
                        (currentUI.currentDialog.options[currentUI.currentDialog.currentOption].linksTo != null ||
                         currentUI.currentDialog.options[currentUI.currentDialog.currentOption].eventLink != null
                      || currentUI.currentDialog.options[currentUI.currentDialog.currentOption].actionLink != null))
                {
                    dialogItemForFinish = currentUI.currentDialog.options[currentUI.currentDialog.currentOption];
                    dialogItemsForRecall.Add(currentUI.currentDialog.options[currentUI.currentDialog.currentOption]);
                    //currentUI.currentDialog.options[currentUI.currentDialog.currentOption].enabled = false;
                    currentUI.currentDialog.options[currentUI.currentDialog.currentOption].handleAction(e);
                }
                else if (e.KeyCode == ScreenBrowser.backKey && currentUI.currentDialog.previousDialog != null && currentUI.currentDialog != currentUI.initialDialog)
                {
                    //currentUI.currentDialog.options[currentUI.currentDialog.currentOption].enabled = true;
                    NavigateBackward(currentUI.currentDialog);
                    HandleRecall();
                }
                return;
            }
        }