diff --git a/public/.gitignore b/public/.gitignore new file mode 100644 index 0000000..2df82b7 --- /dev/null +++ b/public/.gitignore @@ -0,0 +1,3 @@ +*.js +*.js.map +node_modules \ No newline at end of file diff --git a/public/data/scripts/js/background.js b/public/data/scripts/js/background.js deleted file mode 100644 index 2d51ab3..0000000 --- a/public/data/scripts/js/background.js +++ /dev/null @@ -1,138 +0,0 @@ -"use strict"; -let snowflake_max_r = 12; -let snowflake_min_r = 7; -let snowflake_max_count = 500; -class Background { - constructor() { - this.bgColor = p.color(100, 100, 255); - this.wind_direction = 0; - this.ground = new Ground(); - this.snowflakes = []; - for (let i = 0; i < snowflake_max_count; i++) { - this.snowflakes.push(this.getNewSnowflake()); - } - this.snowflakes.sort((a, b) => { - if (a.radius < b.radius) { - return -1; - } - if (a.radius > b.radius) { - return 1; - } - return 0; - }); - this.backgroundSnowflakes = this.snowflakes.slice(0, snowflake_max_count * 2 / 3); - this.foregroundSnowflakes = this.snowflakes.slice(snowflake_max_count * 2 / 3, snowflake_max_count); - this.updateSettings(); - } - getNewSnowflake() { - return new Snowflake(p.random(p.width), p.random(-snowflake_max_r, p.height), p.random(snowflake_min_r, snowflake_max_r)); - } - updateSettings() { - let allowed_snowflakes_count = $('#snow_intensity').val(); - let visible_snowflakes = p.shuffle(this.snowflakes.filter(s => !s.hidden)); - let hidden_snowflakes = p.shuffle(this.snowflakes.filter(s => s.hidden)); - let snowflakes_to_add = allowed_snowflakes_count - visible_snowflakes.length; - if (snowflakes_to_add > 0) { - for (let i = 0; i < snowflakes_to_add; i++) { - hidden_snowflakes[i].hidden = false; - } - } - if (snowflakes_to_add < 0) { - for (let i = 0; i < p.abs(snowflakes_to_add); i++) { - visible_snowflakes[i].hidden = true; - } - } - this.bgColor.setBlue(p.map(allowed_snowflakes_count, 0, snowflake_max_count, 255, 170)); - } - update() { - this.ground.update(); - this.wind_direction = p.sin(p.frameCount / 1000); - this.snowflakes.forEach(s => s.update(this.wind_direction)); - } - display(asForeground) { - if (asForeground) { - this.foregroundSnowflakes.forEach(s => s.display()); - } - else { - p.background(this.bgColor); - this.ground.display(); - this.backgroundSnowflakes.forEach(s => s.display()); - } - } -} -class Snowflake { - constructor(x, y, r) { - this.rotation = 0; - this.pos = p.createVector(x, y); - this.radius = r; - this.hidden = false; - this.alpha = 0; - this.rotateDir = p.random([-1, 1]) * p.random(0.01, 0.03); - this.peakCount = p.random([4, 5, 6]); - } - update(wind_direction) { - let dir = p.createVector(p.map(this.radius, snowflake_min_r, snowflake_max_r, 0, 1) * wind_direction, p.map(this.radius, snowflake_min_r, snowflake_max_r, 0.5, 1) * 2); - this.pos.add(dir); - this.rotation += this.rotateDir; - if (this.pos.y > p.height + this.radius) { - this.pos.y = -this.radius; - } - if (this.pos.x > p.width + this.radius) { - this.pos.x = -this.radius; - } - else if (this.pos.x < -this.radius) { - this.pos.x = p.width + this.radius; - } - if (this.hidden && this.alpha > 0) { - this.alpha -= 0.015; - } - else if (this.alpha < 1) { - this.alpha += 0.015; - } - } - display() { - p.push(); - p.strokeWeight(1); - p.stroke(255, this.alpha * 255); - p.fill(255, this.alpha * 255); - p.translate(this.pos); - p.rotate(this.rotation % p.TWO_PI); - for (let rad = 0; rad < p.PI; rad += p.PI / this.peakCount) { - let x1 = p.cos(rad) * this.radius; - let y1 = p.sin(rad) * this.radius; - let x2 = p.cos(rad + p.PI) * this.radius; - let y2 = p.sin(rad + p.PI) * this.radius; - p.line(x1, y1, x2, y2); - } - p.pop(); - } -} -class Ground { - constructor() { - this.createPoints(); - } - createPoints() { - this.points = []; - for (let x = 0; x < p.width; x++) { - let vector = p.createVector(x, p.noise(x / 300) * 150); - this.points.push(vector); - } - } - update() { - } - display() { - p.push(); - p.fill(220, 220, 255); - p.stroke(50, 50, 150); - p.strokeWeight(2); - p.beginShape(); - for (let point of this.points) { - p.vertex(point.x, point.y + p.height / 2); - } - p.vertex(p.width, p.height); - p.vertex(0, p.height); - p.endShape(p.CLOSE); - p.pop(); - } -} -//# sourceMappingURL=background.js.map \ No newline at end of file diff --git a/public/data/scripts/js/background.js.map b/public/data/scripts/js/background.js.map deleted file mode 100644 index 1bf2736..0000000 --- a/public/data/scripts/js/background.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"background.js","sourceRoot":"","sources":["../ts/background.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/public/data/scripts/js/ball.js b/public/data/scripts/js/ball.js deleted file mode 100644 index 72b1acf..0000000 --- a/public/data/scripts/js/ball.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; -class Ball extends Decoration { - constructor(properties) { - super(properties); - this.createGraphics(); - } - createGraphics() { - let img = images['ball']; - this.graphics = p.createGraphics(img.width, img.height); - this.updateColor(); - } - updateColor() { - let img = images['ball']; - this.graphics.clear(); - this.graphics.tint(this.colors[0]); - this.graphics.image(img, 0, 0); - } - display(pos, dim) { - super.display(pos, dim); - p.image(this.graphics, 0, 0, this.radius * 2, this.radius * 2); - if (this.mouseIsOver) { - this.brightness(70); - } - p.pop(); - } - update() { - super.update(); - } -} -//# sourceMappingURL=ball.js.map \ No newline at end of file diff --git a/public/data/scripts/js/ball.js.map b/public/data/scripts/js/ball.js.map deleted file mode 100644 index 6a68001..0000000 --- a/public/data/scripts/js/ball.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ball.js","sourceRoot":"","sources":["../ts/ball.ts"],"names":[],"mappings":";AAAA,MAAM,IAAK,SAAQ,UAAU;IAIzB,YAAY,UAAkB;QAC1B,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,cAAc;QACV,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,WAAW;QACP,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAGD,OAAO,CAAC,GAAe,EAAE,GAAe;QACpC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAExB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,WAAW,EAAC;YACjB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;SACvB;QAED,CAAC,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC;IAED,MAAM;QACF,KAAK,CAAC,MAAM,EAAE,CAAC;IACnB,CAAC;CAEJ"} \ No newline at end of file diff --git a/public/data/scripts/js/chain.js b/public/data/scripts/js/chain.js deleted file mode 100644 index f506179..0000000 --- a/public/data/scripts/js/chain.js +++ /dev/null @@ -1,146 +0,0 @@ -"use strict"; -var has = Reflect.has; -class Chain extends Decoration { - constructor(properties) { - super(properties); - this.p1 = p.createVector(-0.65, 0); - this.p2 = p.createVector(0.65, 0); - this.p1IsBoundToMouse = false; - this.p2IsBoundToMouse = false; - this.placedOnce = false; - this.points = []; - this.lights = []; - this.generate(); - } - get properties() { - let obj = super.properties; - obj['p1'] = this.p1; - obj['p2'] = this.p2; - return obj; - } - generate() { - let d = p.dist(this.p1.x, this.p1.y, this.p2.x, this.p2.y); - let m = p.abs((this.p2.y - this.p1.y) / (this.p2.x - this.p1.x)); - let a = -1 / d - m / 10; - let b = (this.p1.y - this.p2.y + a * p.pow(this.p2.x, 2) - a * p.pow(this.p1.x, 2)) / - (this.p1.x - this.p2.x); - if (this.p1.x - this.p2.x === 0) - b = 0; - let c = this.p1.y - a * p.pow(this.p1.x, 2) - b * this.p1.x; - let func = x => a * x * x + b * x + c; - let detail = 40; - let points = []; - for (let i = 0; i <= detail; i++) { - let point = { x: 0, y: 0 }; - point.x = this.p1.x + (this.p2.x - this.p1.x) / detail * i; - point.y = func(point.x); - points.push(point); - } - let lightDist = 0.35; - let lastLight = { x: Infinity, y: Infinity }; - let lights = []; - detail = 300; - for (let i = 0; i <= detail; i++) { - let point = { x: 0, y: 0, hasLight: false }; - point.x = this.p1.x + (this.p2.x - this.p1.x) / detail * i; - point.y = func(point.x); - if (p.dist(point.x, point.y, lastLight.x, lastLight.y) >= lightDist) { - lights.push(point); - lastLight = point; - } - } - this.points = points; - this.lights = lights; - } - display(pos, dim) { - super.display(pos, dim); - p.strokeWeight(0.05); - p.stroke(0); - p.noFill(); - p.beginShape(); - for (let point of this.points) - p.vertex(point.x, point.y); - p.endShape(); - p.strokeWeight(0.01); - let i = 0; - for (let point of this.lights) { - let colorIndex = (i + p.int(p.frameCount / 30)) % this.colors.length; - p.fill(this.colors[colorIndex]); - p.ellipse(point.x, point.y, 0.2, 0.2); - i++; - } - p.pop(); - } - get hasValidPosition() { - return game.tree.containsPosition(this.realPosByAnchor(this.p1), true) - && game.tree.containsPosition(this.realPosByAnchor(this.p2), true); - } - realPosByAnchor(anchor) { - return p5.Vector.add(p5.Vector.mult(p5.Vector.add(this.pos, anchor), game.tree.sizeMultiplier), game.center); - } - realPointDistToAnchor(point, anchor) { - let pos = this.realPosByAnchor(anchor); - return p.dist(pos.x, pos.y, point.x, point.y); - } - isMouseOverAnchor(anchor) { - return this.realPointDistToAnchor(p.createVector(p.mouseX, p.mouseY), anchor) <= 0.5 * game.tree.sizeMultiplier; - } - get mouseIsOver() { - return this.isTaken && (this.isMouseOverAnchor(this.p1) || this.isMouseOverAnchor(this.p2)); - } - //Mouse is over this - mousePressed() { - super.mousePressed(); - if (this.isMouseOverAnchor(this.p1)) { - this.p1IsBoundToMouse = true; - } - else if (this.isMouseOverAnchor(this.p2)) { - this.p2IsBoundToMouse = true; - } - } - updateFromPoint(point, other, x, y) { - if (this.placedOnce) { - let pointRelative = p.createVector(x - this.pos.x, y - this.pos.y); - point.set(pointRelative); - let pointReal = p5.Vector.add(this.pos, point); - let otherReal = p5.Vector.add(this.pos, other); - let newPos = p5.Vector.div(p5.Vector.add(pointReal, otherReal), 2); - point.set(p5.Vector.sub(pointReal, newPos)); - other.set(p5.Vector.mult(point, -1)); - this.pos.set(newPos); - } - else { - this.pos.set(x - point.x, y - point.y); - } - } - update() { - let x = (p.mouseX - game.center.x) / game.tree.sizeMultiplier, y = (p.mouseY - game.center.y) / game.tree.sizeMultiplier; - if (this.isBoundToMouse) { - if (this.p1IsBoundToMouse) { - this.updateFromPoint(this.p1, this.p2, x, y); - } - if (this.p2IsBoundToMouse) { - this.updateFromPoint(this.p2, this.p1, x, y); - } - this.generate(); - } - else { - super.update(); - } - if (this.isTaken && !this.isBoundToMouse) { - this.placedOnce = true; - } - } - toJSON(index) { - let list = [ - "p1", - "p2" - ]; - let obj = super.toJSON(index); - for (let item of list) { - obj[item] = this[item]; - } - return obj; - } -} -//# sourceMappingURL=chain.js.map \ No newline at end of file diff --git a/public/data/scripts/js/chain.js.map b/public/data/scripts/js/chain.js.map deleted file mode 100644 index dde189f..0000000 --- a/public/data/scripts/js/chain.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"chain.js","sourceRoot":"","sources":["../ts/chain.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/public/data/scripts/js/container.js b/public/data/scripts/js/container.js deleted file mode 100644 index d2adc8b..0000000 --- a/public/data/scripts/js/container.js +++ /dev/null @@ -1,67 +0,0 @@ -"use strict"; -class Container { - constructor(index, content) { - this.pos = p.createVector(); - this.dim = p.createVector(); - this.index = index; - this.content = content; - } - get mouseIsOver() { - return p.mouseX > this.pos.x && p.mouseX < this.pos.x + this.dim.x && - p.mouseY > this.pos.y && p.mouseY < this.pos.y + this.dim.y; - } - get center() { - return p5.Vector.add(this.pos, p5.Vector.div(this.dim, 2)); - } - display() { - let w = this.dim.x, h = this.dim.y; - let x = this.pos.x + w / 2, y = this.pos.y + h / 2; - p.image(images['box'], x, y, w, h); - if (this.content !== game.tree) { - this.content.display(); - } - if (this.mouseIsOver) { - p.fill(0, 50); - p.noStroke(); - p.rect(x - w / 2, y - h / 2, w, h); - } - } - update() { - let currentCount = game.currentContainers.length; - let w = p.width / currentCount, h = w; - let x = w * this.index, y = p.height - h; - if (this.content instanceof Decoration) { - let otherCount = game.containers.filter(c => game.currentContainers.find(ic => ic == c) == null).length; - w = h = p.width / otherCount; - x = w * this.index; - y = p.height - h; - x += p.width / 2 - w * currentCount / 2; - } - this.pos.set(x, y); - this.dim.set(w, h); - if (this.content !== game.tree) - this.content.update(); - } - mousePressed() { - if (this.content instanceof Tree) { - game.tree.animationDirection = -1; - if (this.content === game.tree) { - game.tree = new Tree(null); - } - else { - game.tree = this.content; - game.tree.animationDirection = 1; - } - } - if (this.content instanceof Decoration && !game.tree.isPlaceholder) { - let decoration = Decoration.Create(this.content.properties); - decoration.isTaken = true; - decoration.isBoundToMouse = true; - game.tree.decorations.push(decoration); - if (decoration instanceof Chain) { - decoration.p1IsBoundToMouse = true; - } - } - } -} -//# sourceMappingURL=container.js.map \ No newline at end of file diff --git a/public/data/scripts/js/container.js.map b/public/data/scripts/js/container.js.map deleted file mode 100644 index 24228c1..0000000 --- a/public/data/scripts/js/container.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"container.js","sourceRoot":"","sources":["../ts/container.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/public/data/scripts/js/decoration.js b/public/data/scripts/js/decoration.js deleted file mode 100644 index f3c0e4e..0000000 --- a/public/data/scripts/js/decoration.js +++ /dev/null @@ -1,167 +0,0 @@ -"use strict"; -class Decoration { - constructor(properties) { - this.pos = p.createVector(); - this.isTaken = false; - this.isBoundToMouse = false; - this.isToDelete = false; - this.needsValidation = false; - this.isSelected = false; - for (let key in properties) { - if (properties.hasOwnProperty(key)) { - if (Array.isArray(properties[key])) { - this[key] = arrayCopy(properties[key]); - } - else { - this[key] = properties[key]; - } - } - } - } - get properties() { - let colors = []; - for (let i = 0; i < this.colors.length; i++) { - let color = []; - for (let c of this.colors[i]) { - color.push(c); - } - colors.push(color); - } - return { - radius: this.radius, - colors: colors, - type: this.type - }; - } - get mouseIsOver() { - if (this.isTaken) { - let pos = this.realPos; - return p.dist(pos.x, pos.y, p.mouseX, p.mouseY) <= this.radius * game.tree.sizeMultiplier; - } - return false; - } - get hasValidPosition() { - return game.tree.containsPosition(this.realPos, true); - } - get realPos() { - return p5.Vector.add(p5.Vector.mult(this.pos, game.tree.sizeMultiplier), game.center); - } - static Create(properties) { - switch (properties['type']) { - case 'ball': - return new Ball(properties); - case 'star': - return new Star(properties); - case 'chain': - return new Chain(properties); - } - } - display(pos, dim) { - let sizeMultiplier = this.sizeMultiplier; - if (pos || dim) { - sizeMultiplier = dim.y * 0.6; - } - else { - pos = this.pos; - } - p.push(); - p.translate(pos); - p.scale(sizeMultiplier); - } - brightness(value) { - p.noStroke(); - p.fill(0, 0, 0, value); - p.ellipse(0, 0, this.radius * 2, this.radius * 2); - } - update() { - if (!this.isTaken) { - this.pos = this.container.center; - this.sizeMultiplier = this.container.dim.y * 0.6; - } - else { - this.sizeMultiplier = 1; - } - if (this.isBoundToMouse) { - let x = (p.mouseX - game.center.x) / game.tree.sizeMultiplier, y = (p.mouseY - game.center.y) / game.tree.sizeMultiplier; - this.pos.set(x, y); - } - } - //Assumes mouse is over this - mousePressed() { - this.isBoundToMouse = true; - } - //Always called - mouseReleased() { - } - toJSON(index) { - let list = [ - "pos", - "colors", - "radius", - "type" - ]; - let obj = {}; - for (let item of list) { - obj[item] = this[item]; - } - return obj; - } - static restoreFrom(rawDeco) { - let props = {}; - for (let key in rawDeco) { - if (['pos', 'p1', 'p2'].find(s => s === key) === undefined) { - props[key] = rawDeco[key]; - } - } - let deco = Decoration.Create(props); - deco.isTaken = true; - deco.pos.x = rawDeco['pos'].x; - deco.pos.y = rawDeco['pos'].y; - if (deco instanceof Chain) { - deco.p1.set(rawDeco['p1'].x, rawDeco['p1'].y); - deco.p2.set(rawDeco['p2'].x, rawDeco['p2'].y); - deco.generate(); - } - return deco; - } -} -function darker(c) { - let newC = []; - for (let v of c) { - newC.push(p.constrain(v * 0.6, 0, 255)); - } - return newC; -} -function arrayCopy(a) { - let newArr = []; - for (let c of a) { - let copy = c; - if (Array.isArray(c)) { - copy = arrayCopy(c); - } - newArr.push(copy); - } - return newArr; -} -function equals(a1, a2) { - // if the other array is a falsy value, return - if (!a1) - return false; - // compare lengths - can save a lot of time - if (a2.length != a1.length) - return false; - for (let i = 0, l = a2.length; i < l; i++) { - // Check if we have nested arrays - if (a2[i] instanceof Array && a1[i] instanceof Array) { - // recurse into the nested arrays - if (!a2[i].equals(a1[i])) - return false; - } - else if (a2[i] != a1[i]) { - // Warning - two different object instances will never be equal: {x:20} != {x:20} - return false; - } - } - return true; -} -//# sourceMappingURL=decoration.js.map \ No newline at end of file diff --git a/public/data/scripts/js/decoration.js.map b/public/data/scripts/js/decoration.js.map deleted file mode 100644 index ea47931..0000000 --- a/public/data/scripts/js/decoration.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"decoration.js","sourceRoot":"","sources":["../ts/decoration.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/public/data/scripts/js/events.js b/public/data/scripts/js/events.js deleted file mode 100644 index cc8cab3..0000000 --- a/public/data/scripts/js/events.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict'; -p.keyPressed = () => { - switch (p.keyCode) { - //Ctrl + D - case 68: - if (p.keyIsDown(17)) { - debug = !debug; - let msg = 'Debug mode turned ' + (debug ? 'ON' : 'OFF'); - console.info(msg); - return false; - } - break; - } -}; -p.mousePressed = () => { - game.mousePressed(); - released = false; -}; -p.mouseReleased = () => { - game.mouseReleased(); - released = true; -}; -p.windowResized = () => { - let w = $('#canvas_holder').width(), h = $('#canvas_holder').height(); - p.resizeCanvas(w, h); -}; -//# sourceMappingURL=events.js.map \ No newline at end of file diff --git a/public/data/scripts/js/events.js.map b/public/data/scripts/js/events.js.map deleted file mode 100644 index 9c95bde..0000000 --- a/public/data/scripts/js/events.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"events.js","sourceRoot":"","sources":["../ts/events.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,CAAC,CAAC,UAAU,GAAG,GAAG,EAAE;IAChB,QAAQ,CAAC,CAAC,OAAO,EAAC;QACd,UAAU;QACV,KAAK,EAAE;YACH,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC;gBAChB,KAAK,GAAG,CAAC,KAAK,CAAC;gBACf,IAAI,GAAG,GAAG,oBAAoB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACxD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClB,OAAO,KAAK,CAAC;aAChB;YACD,MAAM;KACb;AACL,CAAC,CAAA;AAED,CAAC,CAAC,YAAY,GAAG,GAAG,EAAE;IAClB,IAAI,CAAC,YAAY,EAAE,CAAC;IACpB,QAAQ,GAAG,KAAK,CAAC;AACrB,CAAC,CAAA;AACD,CAAC,CAAC,aAAa,GAAG,GAAG,EAAE;IACnB,IAAI,CAAC,aAAa,EAAE,CAAC;IACrB,QAAQ,GAAG,IAAI,CAAC;AACpB,CAAC,CAAA;AAED,CAAC,CAAC,aAAa,GAAG,GAAG,EAAE;IACnB,IAAI,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,EACnC,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC;IACjC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACzB,CAAC,CAAA"} \ No newline at end of file diff --git a/public/data/scripts/js/game.js b/public/data/scripts/js/game.js deleted file mode 100644 index 5ea4ee7..0000000 --- a/public/data/scripts/js/game.js +++ /dev/null @@ -1,219 +0,0 @@ -"use strict"; -class Game { - constructor() { - this.trees = []; - this.tree = new Tree(null); - this.decorations = []; - this.containers = []; - this.isTreeMode = true; - this.isDecorationMode = false; - this.switchButton = new Button('switch'); - this.downloadButton = new Button('download'); - this.restoreButton = new Button('restore'); - this.background = new Background(); - settings.game.trees.forEach((s) => this.trees.push(new Tree(s))); - let red = settings.game.colors.red; - this.decorations = [ - Decoration.Create({ - type: "ball", radius: 0.45, colors: [red] - }), - Decoration.Create({ - type: "star", radius: 0.45, colors: [red, darker(red)] - }), - Decoration.Create({ - type: "chain", radius: 0.45, colors: [ - settings.game.colors.gold, - settings.game.colors.silver - ] - }), - ]; - $('#gold, #silver').attr('checked', 'checked'); - this.trees.forEach((t, i) => { - let c = new Container(i, t); - this.containers.push(c); - t.container = c; - }); - this.decorations.forEach((d, i) => { - let c = new Container(i, d); - this.containers.push(c); - d.container = c; - }); - this.updateDecorationSettings(); - this.updateStarSettings(); - } - updateDecorationSettings() { - this.decorations.filter(d => d instanceof Ball || d instanceof Star).forEach(d => { - d.radius = $('#radius').val() / 100 * 0.7; - let colors = []; - colors.push(JSON.parse($('#color').val())); - if (d instanceof Ball) { - d.colors = colors; - d.updateColor(); - } - if (d instanceof Star) { - d.innerRadius = $('#inner_radius').val() * d.radius; - colors.push(darker(colors[0])); - d.colors = colors; - d.createTriangles(); - } - }); - } - updateStarSettings() { - this.decorations.filter(d => d instanceof Star).forEach((s) => { - s.innerRadius = $('#inner_radius').val() * s.radius; - s.raysCount = parseInt($('#rays_count').val()); - s.createTriangles(); - }); - } - updateChainSettings(element) { - let chain = this.decorations.find(d => d instanceof Chain); - let colorName = element.attr('id'); - let colorValue = settings.game.colors[colorName]; - let cvIndex = chain.colors.findIndex(c => equals(c, colorValue)); - if (cvIndex >= 0) { - chain.colors.splice(cvIndex, 1); - } - else { - chain.colors.push(colorValue); - } - if (chain.colors.length == 0) { - chain.colors.push(colorValue); - return false; - } - return true; - } - updateBackgroundSettings() { - this.background.updateSettings(); - } - get center() { - return p.createVector(p.width / 2, this.height / 2); - } - get height() { - return p.height - this.containers[0].dim.y; - } - get currentContainers() { - return this.containers.filter(c => { - if (this.isTreeMode) - return c.content instanceof Tree; - if (this.isDecorationMode) - return c.content instanceof Decoration; - }); - } - update() { - this.background.update(); - this.switchButton.update(); - this.downloadButton.update(); - this.restoreButton.update(); - this.currentContainers.forEach(c => c.update()); - this.tree.update(); - } - display() { - this.background.display(); - this.switchButton.display(); - this.downloadButton.display(); - this.restoreButton.display(); - this.currentContainers.forEach(c => c.display()); - this.tree.display(); - this.background.display(true); - } - //Always called - mousePressed() { - this.tree.mousePressed(); - this.currentContainers.forEach(c => c.mouseIsOver ? c.mousePressed() : null); - this.switchButton.mouseIsOver ? this.switchButton.mousePressed() : null; - this.downloadButton.mouseIsOver ? this.downloadButton.mousePressed() : null; - this.restoreButton.mouseIsOver ? this.restoreButton.mousePressed() : null; - } - //Always called - mouseReleased() { - this.tree.mouseReleased(); - } - restoreTrees(rawTrees) { - this.trees.forEach((t, i) => { - t.restoreFrom(rawTrees[i]); - }); - } -} -class Button { - constructor(type) { - this.pos = p.createVector(); - this.dim = p.createVector(); - this.type = type; - } - get mouseIsOver() { - return p.mouseX > this.pos.x && p.mouseX < this.pos.x + this.dim.x && - p.mouseY > this.pos.y && p.mouseY < this.pos.y + this.dim.y; - } - get center() { - return p5.Vector.add(this.pos, p5.Vector.div(this.dim, 2)); - } - display() { - let w = this.dim.x, h = this.dim.y; - let x = this.pos.x + w / 2, y = this.pos.y + h / 2; - p.image(images['box'], x, y, w, h); - if (this.type === 'switch') { - if (game.isTreeMode) { - game.decorations[0].display(this.center, this.dim); - } - if (game.isDecorationMode) { - let tree = game.tree; - if (tree.isPlaceholder) - tree = game.trees[0]; - tree.display(this.center, this.dim); - } - } - if (this.type === 'download') { - p.textAlign(p.CENTER, p.CENTER); - p.textSize(25); - p.fill(0); - p.text("Save", this.pos.x, this.pos.y, this.dim.x, this.dim.y); - } - if (this.type === 'restore') { - p.textAlign(p.CENTER, p.CENTER); - p.textSize(20); - p.fill(0); - p.text("Restore", this.pos.x, this.pos.y, this.dim.x, this.dim.y); - } - if (this.mouseIsOver) { - p.fill(0, 50); - p.noStroke(); - p.rect(x - w / 2, y - h / 2, w, h); - } - } - update() { - let w, h, x, y; - if (this.type === 'switch') { - w = game.containers[0].dim.x / 2; - h = w; - x = 0; - y = game.containers[0].pos.y - h; - } - if (this.type === 'download') { - w = game.containers[0].dim.x / 2; - h = w; - x = p.width - w; - y = game.containers[0].pos.y - h; - } - if (this.type === 'restore') { - w = game.containers[0].dim.x / 2; - h = w; - x = p.width - 2 * w; - y = game.containers[0].pos.y - h; - } - this.pos.set(x, y); - this.dim.set(w, h); - } - mousePressed() { - if (this.type === 'switch') { - game.isDecorationMode = !game.isDecorationMode; - game.isTreeMode = !game.isTreeMode; - } - if (this.type === 'download') { - downloadTrees(); - } - if (this.type === 'restore') { - $('#file_browser')[0].click(); - } - } -} -//# sourceMappingURL=game.js.map \ No newline at end of file diff --git a/public/data/scripts/js/game.js.map b/public/data/scripts/js/game.js.map deleted file mode 100644 index b62ef4d..0000000 --- a/public/data/scripts/js/game.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"game.js","sourceRoot":"","sources":["../ts/game.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/public/data/scripts/js/init.js b/public/data/scripts/js/init.js deleted file mode 100644 index 0a6dd4c..0000000 --- a/public/data/scripts/js/init.js +++ /dev/null @@ -1,143 +0,0 @@ -'use strict'; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -let debug = false, font, settings, loader; -//Only for online games -let socket; -let antiCacheQuery = '?_=' + new Date().getTime(); -let game; -let released = false; -let images = {}; -const p = new p5((p) => { - p.preload = () => { - settings = p.loadJSON('data/settings/settings.json' + antiCacheQuery, {}, 'json', (json) => { - console.log('Local settings loaded: ', json); - }, (error) => { - console.log('Local settings failed: ', error); - }); - font = p.loadFont('data/styles/fonts/Tajawal/Tajawal-Regular.ttf' + antiCacheQuery, (font) => { - console.log('Local font loaded: ', font); - }, (error) => { - console.log('Local font failed: ', error); - }); - images['ball'] = p.loadImage('data/images/ball.png' + antiCacheQuery, img => { - console.log('Ball image loaded: ', img); - }, error => { - console.log('Ball image failed: ', error); - }); - images['box'] = p.loadImage('data/images/box.png' + antiCacheQuery, img => { - console.log('Box image loaded: ', img); - }, error => { - console.log('Box image failed: ', error); - }); - }, - p.setup = () => { - interfaceSetup(); - canvasSetup(); - //loader = new Loader(p.createVector(p.width / 2, p.height / 2), Math.min(p.width, p.height) / 2); - loadDynamicScripts().then(() => { - //Load other stuff, then => - //loader = null; - game = new Game(); - game.trees[0].container.mousePressed(); - }); - }, - p.draw = () => { - p.clear(); - if (game) { - game.update(); - game.display(); - } - if (loader) { - loader.update(); - loader.display(); - } - if (debug) - debugInformation(); - }; -}); -function debugInformation() { -} -function interfaceSetup() { - let files_elem = $('#file_browser'); - files_elem.on('change', () => { - let file = files_elem.get(0).files[0]; - file.text().then(text => { - game.restoreTrees(JSON.parse(text)[0]); - }); - }); - let colorSelect = $('#color'); - let possibleColors = $('#possible_colors'); - for (let colorName in settings.game.colors) { - if (!settings.game.colors.hasOwnProperty(colorName)) - continue; - let publicName = colorName.substr(0, 1).toUpperCase() + colorName.substr(1); - let option = $(''); - option.html(publicName); - option.val("[" + settings.game.colors[colorName] + "]"); - colorSelect.append(option); - let checkbox = $(''); - checkbox.attr({ - type: 'checkbox', - id: colorName - }); - checkbox.on('click', event => { - if (game) { - if (!game.updateChainSettings($(event.target))) { - console.info('failed'); - event.preventDefault(); - } - } - }); - let label = $(''); - label.html(publicName); - label.attr('for', colorName); - possibleColors.append(checkbox, label); - } -} -function downloadTrees() { - let str = JSON.stringify(game.trees, (key, value) => { - if (value instanceof p5.Vector) { - return { - x: value.x, - y: value.y - }; - } - return value; - }); - let data = 'data:application/json;charset=utf-8,[' + encodeURIComponent(str) + "]"; - $("#save_link").attr("href", data); - $("#save_link")[0].click(); -} -function canvasSetup() { - p.frameRate(60); - let w = $('#canvas_holder').width(), h = $('#canvas_holder').height(); - let canvas = p.createCanvas(w, h); - canvas.parent('canvas_holder'); - p.textFont(font); - p.imageMode(p.CENTER); -} -function loadDynamicScripts() { - return __awaiter(this, void 0, void 0, function* () { - const json = yield p.httpGet('data/settings/libraries.json' + antiCacheQuery, 'json'); - let requests = []; - for (let script in json) { - if (json[script]) { - let url = '/lib/benjocraeft/' + script + '.js'; - requests.push($.getScript(url, () => { - console.log('Successfully loaded script: ', url); - })); - } - } - yield $.when(...requests); - console.log('All dynamic scripts have been loaded!'); - }); -} -//# sourceMappingURL=init.js.map \ No newline at end of file diff --git a/public/data/scripts/js/init.js.map b/public/data/scripts/js/init.js.map deleted file mode 100644 index 779ce87..0000000 --- a/public/data/scripts/js/init.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"init.js","sourceRoot":"","sources":["../ts/init.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;AAEb,IAAI,KAAK,GAAG,KAAK,EACb,IAAI,EACJ,QAAa,EACb,MAAW,CAAC;AAEhB,uBAAuB;AACvB,IAAI,MAA6B,CAAC;AAElC,IAAI,cAAc,GAAG,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;AAElD,IAAI,IAAU,CAAC;AAEf,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,IAAI,MAAM,GAAW,EAEpB,CAAC;AAEF,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAK,EAAE,EAAE;IAEvB,CAAC,CAAC,OAAO,GAAG,GAAG,EAAE;QACb,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,6BAA6B,GAAG,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE;YAC5F,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC,EAAE,CAAC,KAAU,EAAE,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,+CAA+C,GAAG,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;YACzF,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC,EAAE,CAAC,KAAU,EAAE,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,sBAAsB,GAAG,cAAc,EAAE,GAAG,CAAC,EAAE;YACxE,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;QAC5C,CAAC,EAAE,KAAK,CAAC,EAAE;YACP,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,qBAAqB,GAAG,cAAc,EAAE,GAAG,CAAC,EAAE;YACtE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;QAC3C,CAAC,EAAE,KAAK,CAAC,EAAE;YACP,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC;QAED,CAAC,CAAC,KAAK,GAAG,GAAG,EAAE;YACX,cAAc,EAAE,CAAC;YACjB,WAAW,EAAE,CAAC;YACd,kGAAkG;YAClG,kBAAkB,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3B,4BAA4B;gBAC5B,gBAAgB;gBAEhB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;gBAClB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;YAC3C,CAAC,CAAC,CAAC;QACP,CAAC;QAED,CAAC,CAAC,IAAI,GAAG,GAAG,EAAE;YACV,CAAC,CAAC,KAAK,EAAE,CAAC;YAEV,IAAI,IAAI,EAAC;gBACL,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,IAAI,CAAC,OAAO,EAAE,CAAC;aAClB;YAED,IAAI,MAAM,EAAC;gBACP,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,CAAC,OAAO,EAAE,CAAC;aACpB;YAED,IAAI,KAAK;gBAAE,gBAAgB,EAAE,CAAC;QAClC,CAAC,CAAA;AACL,CAAC,CAAC,CAAA;AAEF,SAAS,gBAAgB;AAEzB,CAAC;AAGD,SAAS,cAAc;IACnB,IAAI,UAAU,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACzB,IAAI,IAAI,GAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,cAAc,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAC3C,KAAK,IAAI,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC;YAC/C,SAAS;QAEb,IAAI,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE5E,IAAI,MAAM,GAAG,CAAC,CAAC,mBAAmB,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC;QACxD,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE3B,IAAI,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,SAAS;SAChB,CAAC,CAAC;QACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YACzB,IAAI,IAAI,EAAC;gBACL,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAC;oBAC3C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACvB,KAAK,CAAC,cAAc,EAAE,CAAC;iBAC1B;aACJ;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAE7B,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;KAC1C;AAGL,CAAC;AAED,SAAS,aAAa;IAClB,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAChD,IAAI,KAAK,YAAY,EAAE,CAAC,MAAM,EAAC;YAC3B,OAAO;gBACH,CAAC,EAAE,KAAK,CAAC,CAAC;gBACV,CAAC,EAAE,KAAK,CAAC,CAAC;aACb,CAAC;SACL;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,IAAI,IAAI,GAAG,uCAAuC,GAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAClF,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,WAAW;IAChB,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAC/B,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC;IACxC,IAAI,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC5B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED,SAAe,kBAAkB;;QAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,8BAA8B,GAAG,cAAc,EAAE,MAAM,CAAC,CAAC;QACtF,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,KAAK,IAAI,MAAM,IAAI,IAAI,EAAE;YACrB,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE;gBACd,IAAI,GAAG,GAAG,mBAAmB,GAAG,MAAM,GAAG,KAAK,CAAC;gBAC/C,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE;oBAChC,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;gBACrD,CAAC,CAAC,CAAC,CAAC;aACP;SACJ;QACD,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACzD,CAAC;CAAA"} \ No newline at end of file diff --git a/public/data/scripts/js/loader.js b/public/data/scripts/js/loader.js deleted file mode 100644 index 516575f..0000000 --- a/public/data/scripts/js/loader.js +++ /dev/null @@ -1,40 +0,0 @@ -"use strict"; -class Loader { - constructor(pos, radius) { - this.pos = pos; - this.c = p.createGraphics(radius * 2, radius * 2); - this.radius = radius; - this.center = p.createVector(radius, radius); - this.message = 'Loading...'; - this.progress = 0; - this.angle = 0; - } - update() { - this.angle += Math.PI / 10; - } - display() { - let c = this.c; - c.clear(); - c.noFill(); - c.stroke(20, 100, 200); - c.strokeWeight(this.radius * 0.025); - //c.arc(this.center.x, this.center.y, this.radius * 2, this.radius * 2, this.angle, this.angle + Math.PI * 1.5); - c.strokeWeight(2); - c.rect(this.center.x - this.radius + 5, this.center.y - 25, this.radius * 2 - 50, 50); - c.fill(50, 150, 255); - c.rect(this.center.x - this.radius + 5, this.center.y - 25, (this.radius - 50) * this.progress, 50); - c.textAlign(p.CENTER, p.CENTER); - c.textSize(25); - c.fill(220); - c.strokeWeight(4); - c.text(this.message, this.radius, this.radius * 1.5); - c.textSize(40); - c.text(Math.floor(this.progress * 100) + '%', this.radius, this.radius / 2); - p.imageMode(p.CENTER); - p.image(c, this.pos.x, this.pos.y); - } - destroy() { - this.c.remove(); - } -} -//# sourceMappingURL=loader.js.map \ No newline at end of file diff --git a/public/data/scripts/js/loader.js.map b/public/data/scripts/js/loader.js.map deleted file mode 100644 index 6b0bdea..0000000 --- a/public/data/scripts/js/loader.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"loader.js","sourceRoot":"","sources":["../ts/loader.ts"],"names":[],"mappings":";AAAA,MAAM,MAAM;IAUR,YAAY,GAAc,EAAE,MAAc;QACtC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,MAAM;QACF,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO;QACH,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACf,CAAC,CAAC,KAAK,EAAE,CAAC;QACV,CAAC,CAAC,MAAM,EAAE,CAAC;QACX,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACvB,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;QACpC,gHAAgH;QAChH,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QACtF,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACrB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAEpG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACf,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAErD,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACf,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE5E,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,OAAO;QACH,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACpB,CAAC;CAEJ"} \ No newline at end of file diff --git a/public/data/scripts/js/online.js b/public/data/scripts/js/online.js deleted file mode 100644 index 28d0091..0000000 --- a/public/data/scripts/js/online.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; -function socketConnect(project, name = "noone") { - let urlQueries = '?game=' + project.name + '&name=' + name; - let port = 3000; - let url = location.hostname + ":" + port + urlQueries; - socket = io.connect(url); - socket.on('connect', () => console.log('Connected to ', url)); -} -//# sourceMappingURL=online.js.map \ No newline at end of file diff --git a/public/data/scripts/js/online.js.map b/public/data/scripts/js/online.js.map deleted file mode 100644 index dd0e517..0000000 --- a/public/data/scripts/js/online.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"online.js","sourceRoot":"","sources":["../ts/online.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,SAAS,aAAa,CAAC,OAAO,EAAE,IAAI,GAAG,OAAO;IAC1C,IAAI,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC3D,IAAI,IAAI,GAAG,IAAI,CAAA;IACf,IAAI,GAAG,GAAG,QAAQ,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,GAAG,UAAU,CAAC;IAEtD,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC;AAClE,CAAC"} \ No newline at end of file diff --git a/public/data/scripts/js/star.js b/public/data/scripts/js/star.js deleted file mode 100644 index c3fbe85..0000000 --- a/public/data/scripts/js/star.js +++ /dev/null @@ -1,72 +0,0 @@ -"use strict"; -class Star extends Decoration { - constructor(properties) { - super(properties); - this.createTriangles(); - } - get properties() { - let obj = super.properties; - obj['raysCount'] = this.raysCount; - obj['innerRadius'] = this.innerRadius; - return obj; - } - createTriangles() { - this.triangles = []; - let increment = p.TWO_PI / this.raysCount / 2, firstOuter = true; - for (let i = 0; i < p.TWO_PI; i += increment) { - let x1 = p.sin(i), y1 = -p.cos(i), x2 = p.sin(i + increment), y2 = -p.cos(i + increment); - if (firstOuter) { - x1 *= this.radius, - y1 *= this.radius, - x2 *= this.innerRadius, - y2 *= this.innerRadius; - } - else { - x2 *= this.radius, - y2 *= this.radius, - x1 *= this.innerRadius, - y1 *= this.innerRadius; - } - firstOuter = !firstOuter; - this.triangles.push([ - p.createVector(x1, y1), - p.createVector(x2, y2), - p.createVector(0, 0) - ]); - } - } - brightness(value) { - this.triangles.forEach((t, i) => { - p.fill(0, 0, 0, value); - p.triangle(t[0].x, t[0].y, t[1].x, t[1].y, t[2].x, t[2].y); - }); - } - display(pos, dim) { - super.display(pos, dim); - p.noStroke(); - this.triangles.forEach((t, i) => { - let color = this.colors[i % this.colors.length]; - p.fill(color); - p.triangle(t[0].x, t[0].y, t[1].x, t[1].y, t[2].x, t[2].y); - }); - if (this.mouseIsOver) { - this.brightness(70); - } - p.pop(); - } - update() { - super.update(); - } - toJSON(index) { - let list = [ - "raysCount", - "innerRadius" - ]; - let obj = super.toJSON(index); - for (let item of list) { - obj[item] = this[item]; - } - return obj; - } -} -//# sourceMappingURL=star.js.map \ No newline at end of file diff --git a/public/data/scripts/js/star.js.map b/public/data/scripts/js/star.js.map deleted file mode 100644 index 9435e65..0000000 --- a/public/data/scripts/js/star.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"star.js","sourceRoot":"","sources":["../ts/star.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/public/data/scripts/js/tree.js b/public/data/scripts/js/tree.js deleted file mode 100644 index f2300fb..0000000 --- a/public/data/scripts/js/tree.js +++ /dev/null @@ -1,223 +0,0 @@ -"use strict"; -class Tree { - constructor(properties) { - this.pos = p.createVector(); - this.sizeMultiplier = 1; - this.animationProgress = 0; - this.animationDirection = -1; - this.decorations = []; - if (properties == null) { - this.isPlaceholder = true; - } - else { - for (let key in properties) { - this[key] = properties[key]; - } - } - } - //Always called - mousePressed() { - for (let d of [...this.decorations].reverse()) { - if (d.mouseIsOver) { - d.mousePressed(); - let index = this.decorations.findIndex(deco => deco == d); - this.decorations[index] = this.decorations[this.decorations.length - 1]; - this.decorations[this.decorations.length - 1] = d; - break; - } - } - } - //Always called - mouseReleased() { - for (let d of this.decorations) { - d.mouseReleased(); - } - } - get smoothProgress() { - return this.smoothStep(0, 1, this.animationProgress); - } - containsPosition(pos, excludeStem) { - let size = game.height, x = (p.width - size) / 2; - let px = pos.x, py = pos.y; - let pixelColor = p.get(px, py).slice(0, 3); - let colorIsValid = game.tree.getAllColors(excludeStem).find(c => equals(c, pixelColor)) != null; - return colorIsValid && - px > x && px < x + size && - py > 0 && py < size - 20; - } - update() { - this.animationProgress += 0.05 * this.animationDirection; - this.animationProgress = this.animationProgress > 1 ? 1 : this.animationProgress < 0 ? 0 : this.animationProgress; - if (this.isPlaceholder) { - this.pos = game.center; - this.sizeMultiplier = game.height * 0.05; - } - else { - this.pos = p5.Vector.lerp(this.container.center, game.center, this.smoothProgress); - this.sizeMultiplier = p.lerp(this.container.dim.y * 0.05, game.height * 0.05, this.smoothProgress); - } - this.decorations.forEach((d, i) => { - if (d.isToDelete) { - this.decorations.splice(i, 1); - if (d instanceof Ball) { - d.graphics.remove(); - } - } - }); - this.decorations.forEach(d => d.update()); - } - display(pos, dim) { - let sizeMultiplier = this.sizeMultiplier; - if (pos || dim) { - sizeMultiplier = dim.y * 0.05; - } - else { - pos = this.pos; - } - p.push(); - p.translate(pos.x, pos.y); - p.scale(sizeMultiplier); - if (this.isPlaceholder) { - p.fill(0); - p.stroke(100, 220, 100); - p.strokeWeight(0.05); - p.textSize(1); - p.textAlign(p.CENTER, p.CENTER); - p.text('Select your Christmas Tree!', 0, 0); - } - else { - this.drawTree(); - this.drawDecorations(); - if (debug && this === game.tree) { - p.stroke(255, 0, 0, 80); - p.strokeWeight(0.05); - for (let i = -10; i <= 10; i++) { - p.line(-10, i, 10, i); - p.line(i, -10, i, 10); - } - } - } - p.pop(); - } - drawTree() { - p.push(); - p.translate(0, 1); - p.fill(this.stemColor); - p.stroke(0); - p.strokeWeight(0.05); - p.rect(-this.stemRadius, 0, this.stemRadius * 2, this.stemHeight); - let drawLeaf = (r, h) => { - if (this.isSmooth) { - let cps = [ - p.createVector(40, 70), - p.createVector(60, 90), - p.createVector(100, 130), - p.createVector(-100, 130), - p.createVector(-60, 90), - p.createVector(-40, 70) - ]; - cps.forEach(c => { - c.x *= r / 100; - c.y *= h / 100; - }); - p.beginShape(); - p.vertex(0, 0); - p.bezierVertex(cps[0].x, cps[0].y, cps[1].x, cps[1].y, r, h); - p.bezierVertex(cps[2].x, cps[2].y, cps[3].x, cps[3].y, -r, h); - p.bezierVertex(cps[4].x, cps[4].y, cps[5].x, cps[5].y, 0, 0); - p.endShape(); - if (debug) { - p.stroke(255, 0, 0); - cps.forEach(c => p.ellipse(c.x, c.y, 0)); - } - } - else { - p.triangle(0, 0, r, h, -r, h); - } - }; - for (let i = 0; i < this.leafCount; i++) { - let y = -i * this.leafHeight / 2; - let lr = this.leafRadius * (this.leafCount - i) / this.leafCount; - p.push(); - p.translate(0, y); - p.fill(this.leafColors[i % this.leafColors.length]); - drawLeaf(lr, this.leafHeight); - p.pop(); - } - p.pop(); - } - drawDecorations() { - for (let d of this.decorations) { - if (d.needsValidation) { - if (!d.hasValidPosition) { - d.isToDelete = true; - } - d.needsValidation = false; - } - } - for (let d of this.decorations) { - if (released && d.isBoundToMouse) { - d.needsValidation = true; - d.isBoundToMouse = false; - if (d instanceof Chain) { - d.p1IsBoundToMouse = false; - d.p2IsBoundToMouse = false; - } - } - d.display(); - } - } - getAllColors(withoutStem) { - let colors = []; - colors.push(...this.leafColors, [0, 0, 0]); - if (!withoutStem) { - colors.push(this.stemColor); - } - return colors; - } - smoothStep(start, end, t) { - function clamp(x, lowLimit, upLimit) { - if (x < lowLimit) - x = lowLimit; - if (x > upLimit) - x = upLimit; - return x; - } - t = clamp((t - start) / (end - start), 0, 1); - return t * t * t * (t * (t * 6 - 15) + 10); - } - toJSON(index) { - let list = [ - "stemRadius", - "leafCount", - "leafColors", - "stemColor", - "stemHeight", - "leafHeight", - "leafRadius", - "isSmooth", - "isPlaceholder", - "decorations" - ]; - let obj = {}; - for (let item of list) { - obj[item] = this[item]; - } - return obj; - } - restoreFrom(rawTree) { - for (let key in rawTree) { - if (key === 'decorations') { - this[key] = []; - rawTree[key].forEach(rawDeco => { - let deco = Decoration.restoreFrom(rawDeco); - this[key].push(deco); - }); - } - else { - this[key] = rawTree[key]; - } - } - } -} -//# sourceMappingURL=tree.js.map \ No newline at end of file diff --git a/public/data/scripts/js/tree.js.map b/public/data/scripts/js/tree.js.map deleted file mode 100644 index 2f8ff90..0000000 --- a/public/data/scripts/js/tree.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"tree.js","sourceRoot":"","sources":["../ts/tree.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/public/data/scripts/ts/init.ts b/public/data/scripts/ts/init.ts index 7870623..0d3c961 100644 --- a/public/data/scripts/ts/init.ts +++ b/public/data/scripts/ts/init.ts @@ -5,9 +5,6 @@ let debug = false, settings: any, loader: any; -//Only for online games -let socket: SocketIOClient.Socket; - let antiCacheQuery = '?_=' + new Date().getTime(); let game: Game; diff --git a/public/data/scripts/ts/online.ts b/public/data/scripts/ts/online.ts deleted file mode 100644 index 0723aa5..0000000 --- a/public/data/scripts/ts/online.ts +++ /dev/null @@ -1,10 +0,0 @@ -'use strict'; - -function socketConnect(project, name = "noone"){ - let urlQueries = '?game=' + project.name + '&name=' + name; - let port = 3000 - let url = location.hostname + ":" + port + urlQueries; - - socket = io.connect(url); - socket.on('connect', () => console.log('Connected to ', url)); -} \ No newline at end of file diff --git a/public/index.html b/public/index.html index 37c9d94..12f4d20 100644 --- a/public/index.html +++ b/public/index.html @@ -1,18 +1,11 @@ - - - - - - - - + + - diff --git a/public/package-lock.json b/public/package-lock.json new file mode 100644 index 0000000..475364a --- /dev/null +++ b/public/package-lock.json @@ -0,0 +1,67 @@ +{ + "name": "christmas_tree", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "christmas_tree", + "version": "1.0.0", + "devDependencies": { + "@types/jquery": "^3.5.16", + "typescript": "^5.0.3" + } + }, + "node_modules/@types/jquery": { + "version": "3.5.16", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.16.tgz", + "integrity": "sha512-bsI7y4ZgeMkmpG9OM710RRzDFp+w4P1RGiIt30C1mSBT+ExCleeh4HObwgArnDFELmRrOpXgSYN9VF1hj+f1lw==", + "dev": true, + "dependencies": { + "@types/sizzle": "*" + } + }, + "node_modules/@types/sizzle": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", + "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", + "dev": true + }, + "node_modules/typescript": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.3.tgz", + "integrity": "sha512-xv8mOEDnigb/tN9PSMTwSEqAnUvkoXMQlicOb0IUVDBSQCgBSaAAROUZYy2IcUy5qU6XajK5jjjO7TMWqBTKZA==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=12.20" + } + } + }, + "dependencies": { + "@types/jquery": { + "version": "3.5.16", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.16.tgz", + "integrity": "sha512-bsI7y4ZgeMkmpG9OM710RRzDFp+w4P1RGiIt30C1mSBT+ExCleeh4HObwgArnDFELmRrOpXgSYN9VF1hj+f1lw==", + "dev": true, + "requires": { + "@types/sizzle": "*" + } + }, + "@types/sizzle": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", + "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", + "dev": true + }, + "typescript": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.3.tgz", + "integrity": "sha512-xv8mOEDnigb/tN9PSMTwSEqAnUvkoXMQlicOb0IUVDBSQCgBSaAAROUZYy2IcUy5qU6XajK5jjjO7TMWqBTKZA==", + "dev": true + } + } +} diff --git a/public/package.json b/public/package.json new file mode 100644 index 0000000..8790d8c --- /dev/null +++ b/public/package.json @@ -0,0 +1,8 @@ +{ + "name": "christmas_tree", + "version": "1.0.0", + "devDependencies": { + "@types/jquery": "^3.5.16", + "typescript": "^5.0.3" + } +} diff --git a/tsconfig.json b/public/tsconfig.json similarity index 100% rename from tsconfig.json rename to public/tsconfig.json