From 2fd9cc46ff2428bb2fa891f47002e9d3e7585583 Mon Sep 17 00:00:00 2001 From: Federico Igne Date: Sat, 13 Aug 2022 11:33:30 +0100 Subject: init: import project --- gui.js | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100755 gui.js (limited to 'gui.js') diff --git a/gui.js b/gui.js new file mode 100755 index 0000000..7f28fd0 --- /dev/null +++ b/gui.js @@ -0,0 +1,76 @@ + +"use strict"; + +// Define the menu interface +Gui.prototype = Object.create(dat.GUI.prototype); + +function Gui() +{ + dat.GUI.call(this); + + var self = this; + + var cmd; + cmd = this.add(Cubie.prototype, 'explosion', 0.50, 2.00); + cmd.name("Explode"); + cmd.onChange(function (value) + { + Cubie.prototype.explosion = value; + for (var i = 0; i < cubies.size; i++) + { + cubies.get(i).updateExplosion(); + } + needsRender = true; + }); + + cmd = this.add({ func: solvedCube }, 'func'); + cmd.name("Solved Cube"); + + cmd = this.add({ func: scramble }, 'func'); + cmd.name("Scramble"); + + cmd = this.add({ func: function(){ selectFile(false); } }, 'func'); + cmd.name("Load File"); + + cmd = this.add({ func: function(){ + // Default name + // This is used if the browser is *not* configured to prompt for a name + // (and location) to save a new file. + var filename = "rubik.txt" + var content = "Answer: 0\n" + for (var i = 0; i < cubies.size; i++) + { + let cubie = cubies.get(i) + content += `is(0,${i},${cubie.colors[0].value},${cubie.colors[1].value},${cubie.colors[2].value}) ` + } + + saveToFile(filename,content); + } }, 'func'); + cmd.name("Save to File"); + + var pos_commands_folder = this.addFolder('Commands (Positive)'); + var neg_commands_folder = this.addFolder('Commands (Negative)'); + animations.forEach(function(value,key) + { + cmd = pos_commands_folder.add({ dummy: function(){} }, 'dummy'); + cmd.name(key); + cmd.onChange(function() + { + startAnimation(key,1.0); + }) + + cmd = neg_commands_folder.add({ dummy: function(){} }, 'dummy'); + cmd.name(key); + cmd.onChange(function() + { + startAnimation(key,-1.0); + }) + }); + // pos_commands_folder.open(); + // neg_commands_folder.open(); +} + + + + + -- cgit v1.2.3