Ejemplo n.º 1
0
 public EnigmaService(DiscordBotServiceContainer services,
                      ConfigParserService configParser) : base(services)
 {
     letterSet             = LetterSetIO.Read(LetterSetFile);
     steckering            = PlugboardIO.Read(letterSet.Count, PlugboardFile);
     rotorKeys             = RotorIO.Read(RotorKeysFile);
     this.configParser     = configParser;
     Client.ReactionAdded += OnReactionAddedAsync;
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Returns the human-readable letterset as an array so objects without connections to the Enigma
 /// machine can read it.
 /// </summary>
 /// <returns>The letterset array.</returns>
 public string[] GetEscapedLetterSet()
 {
     return(letterSetConfig.LetterSet?.Select(c => LetterSetIO.EscapeLetter(c))?.ToArray());
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Reads the file and returns the <see cref="LetterSet"/>.
 /// </summary>
 /// <param name="letterSetFile">The file containing the letterset.</param>
 ///
 /// <exception cref="Exception">
 /// A parsed letter is invalid.
 /// </exception>
 private void LoadFromFile(string letterSetFile)
 {
     LetterSet = LetterSetIO.Read(letterSetFile);
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Writes the input letterset to the file.
 /// </summary>
 /// <param name="rotorCount">The new number of rotors to save.</param>
 /// <param name="letterSetFile">The letterset file to save the letters to.</param>
 private void SaveToFile(LetterSet letterSet, string letterSetFile)
 {
     Directory.CreateDirectory(Path.GetDirectoryName(letterSetFile));
     LetterSetIO.Write(letterSet, letterSetFile);
 }