Example #1
0
        public static Clock LoadClock()
        {
            if (!File.Exists(dir))
            {
                return(DefaultClock());
            }

            Dictionary <String, String> LoadDict = DOD.Load(dir);

            try {
                Clock ReturnClock;

                if (string.IsNullOrWhiteSpace(FontDir))
                {
                    FontDir = LoadDict["FONT"];
                }

                if (!string.IsNullOrWhiteSpace(FontDir))
                {
                    ReturnClock = new Clock(BasicFont.LoadFromFile(FontDir), 2, 1);
                }
                else
                {
                    ReturnClock = new Clock(2, 1);
                }

                ReturnClock.BG           = GraphicUtils.ColorCharToConsoleColor(LoadDict["BG"][0]);
                ReturnClock.FG           = GraphicUtils.ColorCharToConsoleColor(LoadDict["FG"][0]);
                ReturnClock.MilitaryTime = Boolean.Parse(LoadDict["MILITTIME"]);
                ReturnClock.ShowDate     = Boolean.Parse(LoadDict["SHOWDATE"]);
                ReturnClock.ShowSeconds  = Boolean.Parse(LoadDict["SHOWSECONDS"]);
                ReturnClock.HourAdjust   = int.Parse(LoadDict["ADJUSTHOURS"]);

                Audio     = Boolean.Parse(LoadDict["AUDIO"]);
                Voice     = Boolean.Parse(LoadDict["VOICE"]);
                Collapsed = Boolean.Parse(LoadDict["COLLAPSED"]);

                return(ReturnClock);
            } catch (Exception) {
                Draw.CenterText("There was an error loading file " + dir.Split('\\')[dir.Split('\\').Length - 1], Console.WindowHeight / 2, ConsoleColor.Red, ConsoleColor.Black);
                RenderUtils.Pause();
                Draw.ClearLine(Console.WindowHeight / 2);
                return(DefaultClock());
            }
        }
Example #2
0
        /// <summary>Parser for the commands of the demo</summary>
        /// <param name="Read"></param>
        static void Parse(String[] Read)
        {
            switch (Read[0].ToUpper())
            {
            case "SETBG":
                if (Read.Length == 2)
                {
                    MainClock.BG = GraphicUtils.ColorCharToConsoleColor(Read[1][0]);
                }
                else
                {
                    Draw.Sprite("Incorrect syntax: SetBG (ColorChar)", ConsoleColor.Black, ConsoleColor.Red);
                }
                break;

            case "SETFG":
                if (Read.Length == 2)
                {
                    MainClock.FG = GraphicUtils.ColorCharToConsoleColor(Read[1][0]);
                }
                else
                {
                    Draw.Sprite("Incorrect syntax: SetFG (ColorChar)", ConsoleColor.Black, ConsoleColor.Red);
                }
                break;

            case "MILITTIME":
                if (Read.Length == 2)
                {
                    if (Boolean.TryParse(Read[1], out bool Flag))
                    {
                        MainClock.MilitaryTime = Flag;
                    }
                }
                else
                {
                    Draw.Sprite("Incorrect syntax: MilitTime (bool)", ConsoleColor.Black, ConsoleColor.Red);
                }
                break;

            case "SHOWDATE":
                if (Read.Length == 2)
                {
                    if (Boolean.TryParse(Read[1], out bool Flag))
                    {
                        MainClock.ShowDate = Flag;
                    }
                }
                else
                {
                    Draw.Sprite("Incorrect syntax: ShowDate (bool)", ConsoleColor.Black, ConsoleColor.Red);
                }
                break;

            case "SHOWSECONDS":
                if (Read.Length == 2)
                {
                    if (Boolean.TryParse(Read[1], out bool Flag))
                    {
                        MainClock.ShowSeconds = Flag;
                    }
                }
                else
                {
                    Draw.Sprite("Incorrect syntax: ShowSeconds (bool)", ConsoleColor.Black, ConsoleColor.Red);
                }
                break;

            case "ADJUSTHOURS":
                if (Read.Length == 2)
                {
                    if (int.TryParse(Read[1], out int Flag))
                    {
                        MainClock.HourAdjust = Flag;
                    }
                }
                else
                {
                    Draw.Sprite("Incorrect syntax: ShowSeconds (bool)", ConsoleColor.Black, ConsoleColor.Red);
                }
                break;

            case "VOICE":
                if (Read.Length == 2)
                {
                    if (Boolean.TryParse(Read[1], out bool Flag))
                    {
                        Voice = Flag;
                    }
                }
                else
                {
                    Draw.Sprite("Incorrect syntax: ShowSeconds (bool)", ConsoleColor.Black, ConsoleColor.Red);
                }
                break;

            case "AUDIO":
                if (Read.Length == 2)
                {
                    if (Boolean.TryParse(Read[1], out bool Flag))
                    {
                        Audio = Flag;
                    }
                }
                else
                {
                    Draw.Sprite("Incorrect syntax: ShowSeconds (bool)", ConsoleColor.Black, ConsoleColor.Red);
                }
                break;

            case "COLLAPSE":
                Collapse();
                break;

            case "EXPAND":
                Expand();
                break;

            case "PAUSE":
                MainClock.Pause();
                break;

            case "RESUME":
                MainClock.Resume();
                break;

            case "RESET":
                MainClock.Stop();
                Draw.Box(ConsoleColor.Black, MainClock.Width, MainClock.Height, 2, 1);
                MainClock = LoadClock();
                MainClock.RunAsync();
                break;

            case "CLOSE":
                break;

            default:
                Draw.Sprite("Unable to parse command, see HELP", ConsoleColor.Black, ConsoleColor.Red);
                break;
            }
        }