Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | import { Color } from "./color"; import { SceneType, StartFlowAction } from "./enums"; import { FlowState } from "./flow-state"; export class Scene { constructor(public type: SceneType) { } public getData(): any[] { return null; } } // tslint:disable-next-line:max-classes-per-file export class ColorScene extends Scene { constructor(public color: Color, public bright: number) { super(SceneType.COLOR); } public getData() { return [this.type, this.color.getValue(), this.bright]; } } // tslint:disable-next-line:max-classes-per-file export class HsvScene extends Scene { constructor(public hue: number, public satuation: number, public brightness: number) { super(SceneType.HSV); } public getData() { return [this.type, this.hue, this.satuation, this.brightness]; } } /** * change the smart LED to specified ct and brightness */ // tslint:disable-next-line:max-classes-per-file export class CtScene extends Scene { /** * @constructor * @param temperature : K temperature value * @param brightness max brightness level */ constructor(public temperature: number, public brightness: number) { super(SceneType.CT); } public getData() { return [this.type, this.temperature, this.brightness]; } } // tslint:disable-next-line:max-classes-per-file export class CfScene extends Scene { /** * @constructor * @param flowAction The LED behavior after flow finish * @param states : The set of state changes * @param repeat : number of repeas. 0 is infinity */ constructor(public flowAction: StartFlowAction, public states: FlowState[], public repeat: number) { super(SceneType.CF); } public getData() { const list = this.states.reduce((a, b) => [...a, ...b.getState()], []); return [this.type, this.repeat, this.flowAction, list.join(",")]; } } |