private updateLight()

in sim/visuals/nodes/brickView.ts [61:107]


        private updateLight() {
            let state = ev3board().getBrickNode().lightState;

            const lightPattern = state.lightPattern;
            if (lightPattern == this.lastLightPattern) return;
            this.lastLightPattern = lightPattern;
            if (this.lastLightAnimationId) {
                cancelAnimationFrame(this.lastLightAnimationId);
                delete this.lastLightAnimationId;
            }
            switch (lightPattern) {
                case 0:  // LED_BLACK
                    this.setStyleFill(this.normalizeId(BrickView.EV3_LIGHT_ID), this.normalizeId(`linear-gradient-black`));
                    //svg.fill(this.light, "#FFF");
                    break;
                case 1:  // LED_GREEN
                    this.setStyleFill(this.normalizeId(BrickView.EV3_LIGHT_ID), this.normalizeId(`linear-gradient-green`), 'green');
                    //svg.fill(this.light, "#00ff00");
                    break;
                case 2:  // LED_RED
                    this.setStyleFill(this.normalizeId(BrickView.EV3_LIGHT_ID), this.normalizeId(`linear-gradient-red`), 'red');
                    //svg.fill(this.light, "#ff0000");
                    break;
                case 3:  // LED_ORANGE
                    this.setStyleFill(this.normalizeId(BrickView.EV3_LIGHT_ID), this.normalizeId(`linear-gradient-orange`), 'orange');
                    //svg.fill(this.light, "#FFA500");
                    break;
                case 4:  // LED_GREEN_FLASH
                    this.flashLightAnimation('green');
                    break;
                case 5:  // LED_RED_FLASH
                    this.flashLightAnimation('red');
                    break;
                case 6:  // LED_ORANGE_FLASH
                    this.flashLightAnimation('orange');
                    break;
                case 7:  // LED_GREEN_PULSE
                    this.pulseLightAnimation('green');
                    break;
                case 8:  // LED_RED_PULSE
                    this.pulseLightAnimation('red');
                    break;
                case 9:  // LED_ORANGE_PULSE
                    this.pulseLightAnimation('orange');
                    break;
            }
        }