コード例 #1
0
        private async Task ParseAndControlLight(string lightid, ControlItem citem)
        {
            var cmd = new LightCommand();

            if (citem.Powered.HasValue)
            {
                cmd.On = citem.Powered.Value;
            }

            if (citem.Color.HasValue)
            {
                cmd.TurnOn().SetColor(citem.Color.Value);
            }

            if (citem.Alert.HasValue)
            {
                cmd.Alert = citem.Alert.Value;
            }

            if (citem.Effect.HasValue)
            {
                cmd.Effect = citem.Effect.Value;
            }

            await client.SendCommandAsync(cmd, new List <string> {
                lightid
            });
        }
コード例 #2
0
        internal static ControlItem ParseAsync(string[] args)
        {
            if (args.Length < 1)
            {
                Console.WriteLine("Not valid args");
                Console.WriteLine("use \"--help\" option to check usage.");
                Environment.Exit(7);
                return(null);
            }

            var cmd = new ControlItem();

            switch (args[0])
            {
            case "on":
                cmd.Powered = true;
                break;

            case "off":
                cmd.Powered = false;
                break;

            case "color":
                ColorParser(ref cmd, args.Skip(1).ToArray());
                break;
            }

            return(cmd);
        }
コード例 #3
0
        internal async Task ControlLight(string id, ControlItem items)
        {
            if (!await CheckLightAsync(id))
            {
                return;
            }

            await ParseAndControlLight(id, items);
        }
コード例 #4
0
        private static void ColorParser(ref ControlItem c, string[] args)
        {
            if (args.Length < 2)
            {
                Console.WriteLine("Not valid args");
                Console.WriteLine("use \"--help\" option to check usage.");
                Environment.Exit(7);
            }

            switch (args[0])
            {
            case "hex":
                c.CSharpColor = HexParser(args[1]);
                break;
            }
        }