Ejemplo n.º 1
0
        /// <summary>
        /// Wird ausgeführt, sobald ein KeyBindingListener erstellt wird und danach,
        /// wenn sich die Tastenbelegung geändert hat.
        /// </summary>
        public static void ReadKeyAssignments()
        {
            // Drehe die Zuordnung um; von (Taste -> Aktion) zu (Aktion -> Taste)
            Dictionary <PlayerAction, Keys> defaultReversed = DefaultKeyAssignment.ReverseDictionary();

            // Leere die aktuelle Zuordnung
            CurrentKeyAssignment.Clear();

            // Fülle die aktuelle Zuordnung mit aus der Einstellungsdatei gelesenen werten.
            // Iteriere dazu über alle gültigen PlayerActions...
            foreach (PlayerAction action in PlayerAction.Values)
            {
                string actionName = action.Name;
                if (defaultReversed.ContainsKey(action))
                {
                    // Erstelle eine Option...
                    KeyOption option = new KeyOption(
                        section: "controls",
                        name: actionName,
                        defaultValue: defaultReversed [action],
                        configFile: Config.Default
                        )
                    {
                        Verbose = false
                    };
                    // und lese den Wert aus und speichere ihn in der Zuordnung.
                    CurrentKeyAssignment [option.Value] = action;
                }
            }
            CurrentKeyAssignmentReversed = CurrentKeyAssignment.ReverseDictionary();
        }
Ejemplo n.º 2
0
 void ShowMenuItem(KeyOption keyOption)
 {
     Console.ForegroundColor = ConsoleColor.Yellow;
     Console.Write(keyOption.KeyName);
     Console.ForegroundColor = ConsoleColor.White;
     Console.Write(keyOption.Description);
 }
 public override void ExplicitVisit(KeyOption fragment)
 {
     _fragments.Add(fragment);
 }
Ejemplo n.º 4
0
 public override void ExplicitVisit(KeyOption node) { this.action(node); }