diff options
author | Jakob Stendahl <jakob.stendahl@outlook.com> | 2021-10-13 08:13:31 +0200 |
---|---|---|
committer | Jakob Stendahl <jakob.stendahl@outlook.com> | 2021-10-13 08:13:31 +0200 |
commit | 2e26cd607285bcfe1299a690efe37b30fa2c2690 (patch) | |
tree | fda46423cf7a1116732674700228e49fbf0f2b4d | |
parent | b07bd26f46e756c3fcf5eea676e8a5a52f169a92 (diff) | |
parent | 07a899ad61e292260bd8aff4ca73217662a323d6 (diff) | |
download | Luxcena-Neo-2e26cd607285bcfe1299a690efe37b30fa2c2690.tar.gz Luxcena-Neo-2e26cd607285bcfe1299a690efe37b30fa2c2690.zip |
:twisted_rightwards_arrows: Merge UI bug fix and new Variable type
4 files changed, 26 insertions, 2 deletions
diff --git a/NeoRuntime/Runtime/luxcena_neo/neo_behaviour.py b/NeoRuntime/Runtime/luxcena_neo/neo_behaviour.py index 4da3093..6ae58fe 100644 --- a/NeoRuntime/Runtime/luxcena_neo/neo_behaviour.py +++ b/NeoRuntime/Runtime/luxcena_neo/neo_behaviour.py @@ -56,6 +56,7 @@ class VariableType(Enum): FLOAT = 3 COLOR = 4 BOOL = 5 + TRIGGER = 6 class Variables: @@ -264,3 +265,17 @@ class BooleanVariable(Variable): super(BooleanVariable, type(self)).value.fset(self, value) except: print("Attempted to set {} to \"{}\", which is not a valid bool...".format(self.name, value)) + +class Trigger(self): + + def __init__(self, name: str, **kwargs): + super().__init__(name, False, VariableType.TRIGGER, **kwargs) + + @Variable.value.setter + def value(self, value): + try: + value = bool(value) + if value: value = False + super(BooleanVariable, type(self)).value.fset(self, value) + except: + print("Attempted to set {} to \"{}\", which is not a valid bool...".format(self.name, value))
\ No newline at end of file diff --git a/src_frontend/Components/MainControls/ControlComponents.svelte b/src_frontend/Components/MainControls/ControlComponents.svelte index 65bd1c4..71c522a 100644 --- a/src_frontend/Components/MainControls/ControlComponents.svelte +++ b/src_frontend/Components/MainControls/ControlComponents.svelte @@ -19,6 +19,7 @@ let activeMode = ""; let colorVariables = {}; + let variables = {}; function togglePower() { powerIsOn = !powerIsOn; @@ -54,6 +55,13 @@ } colorVariables = colorVariables; break; + default: + if (value.value == null) { + delete variables[name]; + } else { + variables[name] = value.value; + } + variables = variables; } } openSocket.on("modelist", (modelist) => { @@ -135,5 +143,5 @@ {#if Object.keys(colorVariables).length > 0} <ControlColors on:change={setColor} bind:colorVariables={colorVariables} /> {/if} - <!-- <ControlOthers /> --> + <ControlOthers /> </div>
\ No newline at end of file diff --git a/src_frontend/Components/MainControls/ControlOthers.svelte b/src_frontend/Components/MainControls/ControlOthers.svelte index 862a4f5..390daf9 100644 --- a/src_frontend/Components/MainControls/ControlOthers.svelte +++ b/src_frontend/Components/MainControls/ControlOthers.svelte @@ -1,7 +1,7 @@ <script> // This is a list of variables that we can change - let variables = [ + export let variables = [ {id: 1, name: "Speed", type: "range", value: 20, min: 0, max: 100}, {id: 2, name: "Tingle intensity", type: "range", value: 40, min: 0, max: 255}, {id: 3, name: "Amount of tingle", type: "range", value: 90, min: 0, max: 100}, diff --git a/src_frontend/Components/ModeList/NewModeDialog.svelte b/src_frontend/Components/ModeList/NewModeDialog.svelte index 539e3ef..c3734a9 100644 --- a/src_frontend/Components/ModeList/NewModeDialog.svelte +++ b/src_frontend/Components/ModeList/NewModeDialog.svelte @@ -36,6 +36,7 @@ // let remoteModes = []; openSocket.on("modelist", (modes) => { builtinModes = []; + userModes = []; for (let i = 0; i < modes.length; i++) { if (modes[i].substr(0, 8) === "builtin/") { builtinModes.push([modes[i], modes[i].replace("builtin/", "")]); |