コード例 #1
0
ファイル: Dialog.cs プロジェクト: Jorch72/CS-AgateDemo
        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);
        }
コード例 #2
0
ファイル: Dialog.cs プロジェクト: Jorch72/CS-AgateDemo
        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);
        }
コード例 #3
0
ファイル: Dialog.cs プロジェクト: Jorch72/CS-AgateDemo
        }/*
          * 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);
        }
コード例 #4
0
ファイル: Dialog.cs プロジェクト: Jorch72/CS-AgateDemo
        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);
        }
コード例 #5
0
ファイル: Dialog.cs プロジェクト: Jorch72/CS-AgateDemo
 //        public static LinkedAction associatedEvent;
 public static void Init()
 {
     //            associatedEvent = menuEventHandler;
     //endDialog = new Dialog("__END_Dialog__", new List<DialogItem>());
     currentUI = DialogUI.InitUI();
 }
コード例 #6
0
ファイル: Dialog.cs プロジェクト: tommyettinger/AgateDemo
        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;   
        }
コード例 #7
0
ファイル: Dialog.cs プロジェクト: tommyettinger/AgateDemo
        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;   
        }
コード例 #8
0
ファイル: Dialog.cs プロジェクト: tommyettinger/AgateDemo
 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;
 }
コード例 #9
0
ファイル: Dialog.cs プロジェクト: tommyettinger/AgateDemo
        }/*
        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;
        }
コード例 #10
0
ファイル: Dialog.cs プロジェクト: tommyettinger/AgateDemo
        //        public static LinkedAction associatedEvent;
        public static void Init()
        {
            //            associatedEvent = menuEventHandler;
            //endDialog = new Dialog("__END_Dialog__", new List<DialogItem>());
            currentUI = DialogUI.InitUI();

        }