X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fkaka%2Fcakelight%2FConsole.java;h=960cc45caef2b0101fe611102b169dc7dce8feff;hb=HEAD;hp=3f9bce9e42d8a63c93d2fde59ca84008cf16a3ac;hpb=e4738966c601bac22b7f7cbad375bd172913bde9;p=kaka%2Fcakelight.git diff --git a/src/kaka/cakelight/Console.java b/src/kaka/cakelight/Console.java index 3f9bce9..960cc45 100644 --- a/src/kaka/cakelight/Console.java +++ b/src/kaka/cakelight/Console.java @@ -1,5 +1,7 @@ package kaka.cakelight; +import kaka.cakelight.mode.Mode; + import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; @@ -26,13 +28,16 @@ public class Console extends Thread { this.config = config; register(Commands.help()); register(Commands.quit()); + register(Commands.push()); + register(Commands.pop()); register(Commands.video()); register(Commands.color()); register(Commands.brightness()); register(Commands.gamma()); register(Commands.saturation()); register(Commands.ambientMode()); - register(Commands.twoColorNoiseMode()); + register(Commands.noiseMode()); + register(Commands.fireMode()); register(Commands.sunriseMode()); } @@ -79,6 +84,13 @@ public class Console extends Thread { } void handleInput(String input) { + Object obj = internalHandleInput(input); + if (obj instanceof Mode) { + cakelight.setMode((Mode) obj); + } + } + + Object internalHandleInput(String input) { String[] splitInput = input.split("\\s+", 2); String name = splitInput[0]; String[] args = splitInput.length == 2 @@ -87,10 +99,11 @@ public class Console extends Thread { Command cmd = commands.get(name); if (cmd != null) { - cmd.activate(this, args); + return cmd.activate(this, args); } else { out("no command named '" + name + "'"); } + return null; } void out(String text) { @@ -126,6 +139,6 @@ public class Console extends Thread { public interface Command { String[] getNames(); - void activate(Console console, String[] args); + Object activate(Console console, String[] args); } }