Пример #1
0
    private void doSlider(string type, int value)
    {
        if (!isSliderChanged(type, value) || 255 < value || (63 < value && value < 81) || (178 < value && value < 208))
        {
            return;
        }

        Debug.Log(OrderConstants.GETCODE_ZONE_1_COLOR(Convert.ToString(value, 16)));

        switch (type)
        {
        case "Color":
            switch (zoneID)
            {
            case 1:
                udp_send.SendCode(OrderConstants.hexCode2byteArray(OrderConstants.GETCODE_ZONE_1_COLOR(Convert.ToString(value, 16))), this);
                lights[1].Color(value);
                break;

            case 2:
                udp_send.SendCode(OrderConstants.hexCode2byteArray(OrderConstants.GETCODE_ZONE_2_COLOR(Convert.ToString(value, 16))), this);
                lights[2].Color(value);
                break;

            case 3:
                udp_send.SendCode(OrderConstants.hexCode2byteArray(OrderConstants.GETCODE_ZONE_3_COLOR(Convert.ToString(value, 16))), this);
                lights[3].Color(value);
                break;

            case 4:
                udp_send.SendCode(OrderConstants.hexCode2byteArray(OrderConstants.GETCODE_ZONE_4_COLOR(Convert.ToString(value, 16))), this);
                lights[4].Color(value);
                break;

            case 0:
                udp_send.SendCode(OrderConstants.hexCode2byteArray(OrderConstants.GETCODE_ALL_COLOR(Convert.ToString(value, 16))), this);
                foreach (var light in lights)
                {
                    lights[light.Key].Color(value);
                }
                break;

            default:
                break;
            }
            break;

        case "Brightness":
            switch (zoneID)
            {
            case 1:
                udp_send.SendCode(OrderConstants.hexCode2byteArray(OrderConstants.GETCODE_ZONE_1_BRIGHTNESS(Convert.ToString(value, 16))), this);
                lights[1].Brightness(value);
                break;

            case 2:
                udp_send.SendCode(OrderConstants.hexCode2byteArray(OrderConstants.GETCODE_ZONE_2_BRIGHTNESS(Convert.ToString(value, 16))), this);
                lights[2].Brightness(value);
                break;

            case 3:
                udp_send.SendCode(OrderConstants.hexCode2byteArray(OrderConstants.GETCODE_ZONE_3_BRIGHTNESS(Convert.ToString(value, 16))), this);
                lights[3].Brightness(value);
                break;

            case 4:
                udp_send.SendCode(OrderConstants.hexCode2byteArray(OrderConstants.GETCODE_ZONE_4_BRIGHTNESS(Convert.ToString(value, 16))), this);
                lights[4].Brightness(value);
                break;

            case 0:
                udp_send.SendCode(OrderConstants.hexCode2byteArray(OrderConstants.GETCODE_ALL_BRIGHTNESS(Convert.ToString(value, 16))), this);
                foreach (var light in lights)
                {
                    lights[light.Key].Brightness(value);
                }
                break;

            default:
                break;
            }
            break;

        default:
            break;
        }
    }