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()); } }
/// <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; } }