aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Stendahl <jakob.stendahl@outlook.com>2021-10-13 08:13:31 +0200
committerJakob Stendahl <jakob.stendahl@outlook.com>2021-10-13 08:13:31 +0200
commit2e26cd607285bcfe1299a690efe37b30fa2c2690 (patch)
treefda46423cf7a1116732674700228e49fbf0f2b4d
parentb07bd26f46e756c3fcf5eea676e8a5a52f169a92 (diff)
parent07a899ad61e292260bd8aff4ca73217662a323d6 (diff)
downloadLuxcena-Neo-2e26cd607285bcfe1299a690efe37b30fa2c2690.tar.gz
Luxcena-Neo-2e26cd607285bcfe1299a690efe37b30fa2c2690.zip
:twisted_rightwards_arrows: Merge UI bug fix and new Variable type
-rw-r--r--NeoRuntime/Runtime/luxcena_neo/neo_behaviour.py15
-rw-r--r--src_frontend/Components/MainControls/ControlComponents.svelte10
-rw-r--r--src_frontend/Components/MainControls/ControlOthers.svelte2
-rw-r--r--src_frontend/Components/ModeList/NewModeDialog.svelte1
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/", "")]);