X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fkaka%2Fcakelight%2FCommands.java;h=e665cf17c669d77b01a70cdcf5e14a144171ad8b;hb=6a3d0edaa676312429f2f2bd6ed44e59ed07cc70;hp=825ebe32872fd6afcf820f18a9ba6eef5ade4fab;hpb=c9edf58db4c00b7b95bb7f521063e5ecd79db262;p=kaka%2Fcakelight.git diff --git a/src/kaka/cakelight/Commands.java b/src/kaka/cakelight/Commands.java index 825ebe3..e665cf1 100644 --- a/src/kaka/cakelight/Commands.java +++ b/src/kaka/cakelight/Commands.java @@ -3,6 +3,7 @@ package kaka.cakelight; import kaka.cakelight.mode.*; import java.util.function.BiFunction; +import java.util.stream.Stream; class Commands { private static Console.Command command(String[] names, BiFunction activate) { @@ -59,7 +60,7 @@ class Commands { static Console.Command push() { return command(new String[] {"push"}, (console, args) -> { - Object obj = console.handleInput(String.join(" ", args)); + Object obj = console.internalHandleInput(String.join(" ", args)); if (obj instanceof Mode) { // obj could be anything, which should be fixed console.out("pushing mode " + obj.getClass().getSimpleName()); console.getCakelight().pushMode((Mode) obj); @@ -154,13 +155,13 @@ class Commands { }); } - static Console.Command twoColorNoiseMode() { + static Console.Command noiseMode() { return modeCommand(new String[] {"n", "noise"}, (console, args) -> { - if (args.length == 2) { - console.out("setting two-color noise mode"); - return new TwoColorNoiseMode( - console.parseColor(args[0]), - console.parseColor(args[1]) + if (args.length > 1) { + console.out("setting multi-color noise mode"); + return new NoiseMode(Stream.of(args) + .map(console::parseColor) + .toArray(Color[]::new) ); } return null;