From 053a28e7046b798d83ea0cd853ebcfceb2ddcd67 Mon Sep 17 00:00:00 2001 From: Paolo Brasolin <paolo.brasolin@eurac.edu> Date: Wed, 23 Feb 2022 17:09:55 +0100 Subject: [PATCH] chore: lint FE --- frontend/src/css/main.css | 1 - frontend/src/css/normalize.css | 6 +- frontend/src/css/override.css | 2 +- frontend/src/index.html | 73 +++-- frontend/src/js/main.js | 570 +++++++++++++++++++-------------- frontend/src/js/plugins.js | 32 +- 6 files changed, 401 insertions(+), 283 deletions(-) diff --git a/frontend/src/css/main.css b/frontend/src/css/main.css index 416a37e..d783e8f 100644 --- a/frontend/src/css/main.css +++ b/frontend/src/css/main.css @@ -260,4 +260,3 @@ textarea { page-break-after: avoid; } } - diff --git a/frontend/src/css/normalize.css b/frontend/src/css/normalize.css index 192eb9c..bb6e2a7 100644 --- a/frontend/src/css/normalize.css +++ b/frontend/src/css/normalize.css @@ -174,7 +174,8 @@ textarea { */ button, -input { /* 1 */ +input { + /* 1 */ overflow: visible; } @@ -184,7 +185,8 @@ input { /* 1 */ */ button, -select { /* 1 */ +select { + /* 1 */ text-transform: none; } diff --git a/frontend/src/css/override.css b/frontend/src/css/override.css index aef727f..09b375e 100644 --- a/frontend/src/css/override.css +++ b/frontend/src/css/override.css @@ -1,3 +1,3 @@ -.bootbox-cancel{ +.bootbox-cancel { display: none; } diff --git a/frontend/src/index.html b/frontend/src/index.html index 2e8c735..fb66ca6 100644 --- a/frontend/src/index.html +++ b/frontend/src/index.html @@ -1,36 +1,41 @@ -<!doctype html> +<!DOCTYPE html> <html class="no-js" lang=""> - -<head> - <meta charset="utf-8"> - <title>Oetzi Words</title> - <meta name="description" content=""> - <meta name="viewport" content="width=device-width, initial-scale=1"> - -<!-- <link rel="manifest" href="../site.webmanifest">--> - <!-- Place favicon.ico in the root directory --> -<!-- <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">--> - - <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css" integrity="sha384-zCbKRCUGaJDkqS1kPbPd7TveP5iyJE0EjAuZQTgFLD2ylzuqKfdKlfG/eSrtxUkn" crossorigin="anonymous"> - - - <link rel="stylesheet" href="css/normalize.css"> - <link rel="stylesheet" href="css/main.css"> - <meta name="theme-color" content="#fafafa"> -</head> - -<body> - - <!-- Add your site or application content here --> - <script src="js/vendor/modernizr-3.11.2.min.js"></script> - <script src="js/plugins.js"></script> - <script src="js/main.js"></script> - - <div id="gioco" style="width: 100%;height: 100%;position: absolute;background-color: black" /> - - - - -</body> - + <head> + <meta charset="utf-8" /> + <title>Oetzi Words</title> + <meta name="description" content="" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + + <!-- <link rel="manifest" href="../site.webmanifest">--> + <!-- Place favicon.ico in the root directory --> + <!-- <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.minstart.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">--> + + <link + rel="stylesheet" + href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css" + integrity="sha384-zCbKRCUGaJDkqS1kPbPd7TveP5iyJE0EjAuZQTgFLD2ylzuqKfdKlfG/eSrtxUkn" + crossorigin="anonymous" + /> + + <link rel="stylesheet" href="css/normalize.css" /> + <link rel="stylesheet" href="css/main.css" /> + <meta name="theme-color" content="#fafafa" /> + </head> + + <body> + <!-- Add your site or application content here --> + <script src="js/vendor/modernizr-3.11.2.min.js"></script> + <script src="js/plugins.js"></script> + <script src="js/main.js"></script> + + <div + id="gioco" + style=" + width: 100%; + height: 100%; + position: absolute; + background-color: black; + " + /> + </body> </html> diff --git a/frontend/src/js/main.js b/frontend/src/js/main.js index d63bb3b..fbef84b 100644 --- a/frontend/src/js/main.js +++ b/frontend/src/js/main.js @@ -1,381 +1,473 @@ -import * as Phaser from 'phaser' -import axios from 'axios'; +import * as Phaser from "phaser"; +import axios from "axios"; import "jquery"; import "popper.js"; import "bootstrap"; -import * as bootbox from 'bootbox'; -import "../css/override.css" +import * as bootbox from "bootbox"; +import "../css/override.css"; let config = { - type: Phaser.AUTO, pixelArt: true, - - backgroundColor: '#000', scale: { - parent: 'gioco', mode: Phaser.Scale.SHOW_ALL - - }, physics: { - default: 'arcade', arcade: { - gravity: {y: 200}, debug: false - - } - }, scene: { + type: Phaser.AUTO, + pixelArt: true, + + backgroundColor: "#000", + scale: { + parent: "gioco", + mode: Phaser.Scale.SHOW_ALL, + }, + physics: { + default: "arcade", + arcade: { + gravity: { y: 200 }, + debug: false, + }, + }, + scene: { preload: preload, create: create, // update: updateScene - } + }, }; - - - let game = new Phaser.Game(config); - function preload() { - this.scale.scaleMode = Phaser.ScaleModes.LINEAR - this.load.image('b0', 'assets/background_layers/Layer_0011_0.png'); - this.load.image('b1', 'assets/background_layers/Layer_0010_1.png'); - this.load.image('b2', 'assets/background_layers/Layer_0009_2.png'); - this.load.image('b3', 'assets/background_layers/Layer_0008_3.png'); - this.load.image('b4', 'assets/background_layers/Layer_0007_Lights.png'); - this.load.image('b5', 'assets/background_layers/Layer_0006_4.png'); - this.load.image('b6', 'assets/background_layers/Layer_0005_5.png'); - this.load.image('b7', 'assets/background_layers/Layer_0004_Lights.png'); - this.load.image('b8', 'assets/background_layers/Layer_0003_6.png'); - this.load.image('b9', 'assets/background_layers/Layer_0002_7.png'); - this.load.image('b10', 'assets/background_layers/Layer_0001_8.png'); - this.load.image('b11', 'assets/background_layers/Layer_0000_9.png'); - this.load.image('logo', 'assets/background_layers/Logo.png'); - this.load.image('ground', 'assets/background_layers/ground.png'); - this.load.image('fadeBG', 'assets/background_layers/fadeBG.png'); - - this.load.spritesheet('oezi', 'assets/sprites/player/oezi.png', {frameWidth: 27, frameHeight: 35}); - this.load.spritesheet('deer', 'assets/sprites/player/deer.png', {frameWidth: 72, frameHeight: 52}); - this.load.spritesheet('boar', 'assets/sprites/player/boar.png', {frameWidth: 52, frameHeight: 28}); - this.load.spritesheet('wolf', 'assets/sprites/player/wolf.png', {frameWidth: 54, frameHeight: 35}); - this.load.spritesheet('bear', 'assets/sprites/player/bear.png', {frameWidth: 60, frameHeight: 31}); - this.load.spritesheet('spear', 'assets/sprites/player/spear.png', {frameWidth: 31, frameHeight: 7}); - this.load.spritesheet('spearhit', 'assets/sprites/player/spearhit.png', {frameWidth: 14, frameHeight: 33}); - this.load.spritesheet('hit', 'assets/sprites/player/hit-sheet.png', {frameWidth: 469, frameHeight: 79}); - this.load.spritesheet('miss', 'assets/sprites/player/misssing-sheet.png', {frameWidth: 466, frameHeight: 76}); + this.scale.scaleMode = Phaser.ScaleModes.LINEAR; + this.load.image("b0", "assets/background_layers/Layer_0011_0.png"); + this.load.image("b1", "assets/background_layers/Layer_0010_1.png"); + this.load.image("b2", "assets/background_layers/Layer_0009_2.png"); + this.load.image("b3", "assets/background_layers/Layer_0008_3.png"); + this.load.image("b4", "assets/background_layers/Layer_0007_Lights.png"); + this.load.image("b5", "assets/background_layers/Layer_0006_4.png"); + this.load.image("b6", "assets/background_layers/Layer_0005_5.png"); + this.load.image("b7", "assets/background_layers/Layer_0004_Lights.png"); + this.load.image("b8", "assets/background_layers/Layer_0003_6.png"); + this.load.image("b9", "assets/background_layers/Layer_0002_7.png"); + this.load.image("b10", "assets/background_layers/Layer_0001_8.png"); + this.load.image("b11", "assets/background_layers/Layer_0000_9.png"); + this.load.image("logo", "assets/background_layers/Logo.png"); + this.load.image("ground", "assets/background_layers/ground.png"); + this.load.image("fadeBG", "assets/background_layers/fadeBG.png"); + + this.load.spritesheet("oezi", "assets/sprites/player/oezi.png", { + frameWidth: 27, + frameHeight: 35, + }); + this.load.spritesheet("deer", "assets/sprites/player/deer.png", { + frameWidth: 72, + frameHeight: 52, + }); + this.load.spritesheet("boar", "assets/sprites/player/boar.png", { + frameWidth: 52, + frameHeight: 28, + }); + this.load.spritesheet("wolf", "assets/sprites/player/wolf.png", { + frameWidth: 54, + frameHeight: 35, + }); + this.load.spritesheet("bear", "assets/sprites/player/bear.png", { + frameWidth: 60, + frameHeight: 31, + }); + this.load.spritesheet("spear", "assets/sprites/player/spear.png", { + frameWidth: 31, + frameHeight: 7, + }); + this.load.spritesheet("spearhit", "assets/sprites/player/spearhit.png", { + frameWidth: 14, + frameHeight: 33, + }); + this.load.spritesheet("hit", "assets/sprites/player/hit-sheet.png", { + frameWidth: 469, + frameHeight: 79, + }); + this.load.spritesheet("miss", "assets/sprites/player/misssing-sheet.png", { + frameWidth: 466, + frameHeight: 76, + }); } - - // window.OetziWordsSiteUrlPrefix = "http://localhost:8080/oetzi_words/" //use this to develop -window.OetziWordsSiteUrlPrefix = "" // use this to deploy - - - -let gameRunning = false -let player -let scene -let foreBG -let fadeBG -let imageInUse = [] -let enemyNumber = 0 -let ground -let consecutiveMissing = 0 - +window.OetziWordsSiteUrlPrefix = ""; // use this to deploy + +let gameRunning = false; +let player; +let scene; +let foreBG; +let fadeBG; +let imageInUse = []; +let enemyNumber = 0; +let ground; +let consecutiveMissing = 0; /* game params */ -let enemies = ["bear", "wolf", "deer", "boar"] -let maxEnemyNumber = 4 -let enemiesSpeed = 50000 +let enemies = ["bear", "wolf", "deer", "boar"]; +let maxEnemyNumber = 4; +let enemiesSpeed = 50000; /**************/ - function create() { - scene = this + scene = this; for (let i = 0; i <= 10; i++) { - this.add.tileSprite(0, 0, this.cameras.main.width, this.cameras.main.height, 'b' + i).setOrigin(0).setScrollFactor(0) + this.add + .tileSprite( + 0, + 0, + this.cameras.main.width, + this.cameras.main.height, + "b" + i, + ) + .setOrigin(0) + .setScrollFactor(0); } - this.add.image(this.cameras.main.width / 2, 100, 'logo').setScale(0.3) - - - createAnim('player_idle', 'oezi', 1, 5) - createAnim('player_run', 'oezi', 6, 13) - createAnim('deer_run', 'deer', 0, 5) - createAnim('deer_idle', 'deer', 6, 15) - createAnim('deer_walk', 'deer', 16, 23) - createAnim('boar_run', 'boar', 0, 5) - createAnim('boar_idle', 'boar', 6, 13) - createAnim('boar_walk', 'boar', 14, 22) - createAnim('wolf_run', 'wolf', 0, 5) - createAnim('wolf_idle', 'wolf', 6, 15) - createAnim('wolf_walk', 'wolf', 16, 23) - createAnim('bear_run', 'bear', 12, 16) - createAnim('bear_idle', 'bear', 0, 11) - createAnim('bear_walk', 'bear', 17, 24) - createAnim('spearAni', 'spear', 0, 3) - createAnim('spearHitAni', 'spearhit', 0, 8) - createAnim('hit', 'hit', 0, 9) - createAnim('missing', 'miss', 0, 6) - - - ground = this.physics.add.staticImage(0, this.cameras.main.height - 25, 'ground').setScale(1).refreshBody(); + this.add.image(this.cameras.main.width / 2, 100, "logo").setScale(0.3); + + createAnim("player_idle", "oezi", 1, 5); + createAnim("player_run", "oezi", 6, 13); + createAnim("deer_run", "deer", 0, 5); + createAnim("deer_idle", "deer", 6, 15); + createAnim("deer_walk", "deer", 16, 23); + createAnim("boar_run", "boar", 0, 5); + createAnim("boar_idle", "boar", 6, 13); + createAnim("boar_walk", "boar", 14, 22); + createAnim("wolf_run", "wolf", 0, 5); + createAnim("wolf_idle", "wolf", 6, 15); + createAnim("wolf_walk", "wolf", 16, 23); + createAnim("bear_run", "bear", 12, 16); + createAnim("bear_idle", "bear", 0, 11); + createAnim("bear_walk", "bear", 17, 24); + createAnim("spearAni", "spear", 0, 3); + createAnim("spearHitAni", "spearhit", 0, 8); + createAnim("hit", "hit", 0, 9); + createAnim("missing", "miss", 0, 6); + + ground = this.physics.add + .staticImage(0, this.cameras.main.height - 25, "ground") + .setScale(1) + .refreshBody(); ground.setImmovable(true); ground.body.allowGravity = false; - - player = this.physics.add.sprite(this.cameras.main.width + 300, this.cameras.main.height - 100, 'oezi').setScale(3).setInteractive(); - - - foreBG = this.add.tileSprite(0, 0, this.cameras.main.width, this.cameras.main.height, 'b11').setOrigin(0, 0); - fadeBG = this.add.tileSprite(0, 0, this.cameras.main.width, this.cameras.main.height, 'fadeBG').setOrigin(0).setScrollFactor(0).setInteractive() - fadeBG.setVisible(false) - - - player.flipX = true - - player.play({key: 'player_run'}) + player = this.physics.add + .sprite( + this.cameras.main.width + 300, + this.cameras.main.height - 100, + "oezi", + ) + .setScale(3) + .setInteractive(); + + foreBG = this.add + .tileSprite(0, 0, this.cameras.main.width, this.cameras.main.height, "b11") + .setOrigin(0, 0); + fadeBG = this.add + .tileSprite( + 0, + 0, + this.cameras.main.width, + this.cameras.main.height, + "fadeBG", + ) + .setOrigin(0) + .setScrollFactor(0) + .setInteractive(); + fadeBG.setVisible(false); + + player.flipX = true; + + player.play({ key: "player_run" }); this.physics.add.collider(player, ground); let tween = this.tweens.add({ - targets: player, x: this.cameras.main.width - 80, ease: 'Power2', duration: 2000, onComplete: function () { - - setAnimation(player, "player_idle") - gameRunning = true - gameStart() + targets: player, + x: this.cameras.main.width - 80, + ease: "Power2", + duration: 2000, + onComplete: function () { + setAnimation(player, "player_idle"); + gameRunning = true; + gameStart(); }, }); - this.scale.displaySize.setAspectRatio(this.cameras.main.width / this.cameras.main.height); + this.scale.displaySize.setAspectRatio( + this.cameras.main.width / this.cameras.main.height, + ); this.scale.refresh(); } - function createAnim(key, refKey, from, to) { scene.anims.create({ - key: key, frames: scene.anims.generateFrameNumbers(refKey, {start: from, end: to}), frameRate: 10, repeat: -1 + key: key, + frames: scene.anims.generateFrameNumbers(refKey, { start: from, end: to }), + frameRate: 10, + repeat: -1, }); } - function gameStart() { let waitTime = 200; for (let i = 0; i < maxEnemyNumber; i++) { setTimeout(() => { - dispatchEnemy() - }, waitTime) - waitTime += Math.floor((Math.random() * 4000) + 4000) + dispatchEnemy(); + }, waitTime); + waitTime += Math.floor(Math.random() * 4000 + 4000); } } - function dispatchEnemy() { let e = new enemy(); - axios.post(window.OetziWordsSiteUrlPrefix + 'GetImage', { - sessionImages: imageInUse - }) + axios + .post(window.OetziWordsSiteUrlPrefix + "GetImage", { + sessionImages: imageInUse, + }) .then(function (response) { - e.refData = response.data - imageInUse.push(e.refData.id) + e.refData = response.data; + imageInUse.push(e.refData.id); e.run((v) => { imageInUse.splice(imageInUse.indexOf(e.refData.id), 1); if (gameRunning) { setTimeout(() => { - dispatchEnemy() - }, Math.floor((Math.random() * 10000) + 3000)) + dispatchEnemy(); + }, Math.floor(Math.random() * 10000 + 3000)); } - }) - }) + }); + }); } - class enemy { - - refData = null - + refData = null; run(callback) { - let me = this - enemyNumber++ - let randomEnemyType = enemies[Math.floor((Math.random() * 4) + 0)]; + let me = this; + enemyNumber++; + let randomEnemyType = enemies[Math.floor(Math.random() * 4 + 0)]; - let scale = 2 + let scale = 2; if (randomEnemyType === "deer") { - scale = 2.5 + scale = 2.5; } else if (randomEnemyType === "bear") { - scale = 3 + scale = 3; } - let enemy = scene.physics.add.sprite(-100, (scene.cameras.main.height - 100), randomEnemyType).setScale(scale).setInteractive() - enemy.typeName = randomEnemyType + let enemy = scene.physics.add + .sprite(-100, scene.cameras.main.height - 100, randomEnemyType) + .setScale(scale) + .setInteractive(); + enemy.typeName = randomEnemyType; scene.physics.add.collider(enemy, ground); - enemy.flipX = true - - setAnimation(enemy, enemy.typeName + "_walk") - scene.children.bringToTop(foreBG) - scene.children.bringToTop(fadeBG) - + enemy.flipX = true; + setAnimation(enemy, enemy.typeName + "_walk"); + scene.children.bringToTop(foreBG); + scene.children.bringToTop(fadeBG); enemy.movement = scene.tweens.add({ - targets: enemy, x: scene.cameras.main.width + 300, duration: enemiesSpeed, onComplete: function () { - enemy.destroy() + targets: enemy, + x: scene.cameras.main.width + 300, + duration: enemiesSpeed, + onComplete: function () { + enemy.destroy(); callback(me); - }, onStop: function () { }, + onStop: function () {}, + }); - }) - - enemy.on('pointerdown', function (pointer) { - let hit = true - enemy.disableInteractive() + enemy.on("pointerdown", function (pointer) { + let hit = true; + enemy.disableInteractive(); // here invoke image - enemy.movement.pause() - setAnimation(enemy, enemy.typeName + "_idle") - fadeBG.setVisible(true) + enemy.movement.pause(); + setAnimation(enemy, enemy.typeName + "_idle"); + fadeBG.setVisible(true); - let beginTime = (new Date()).getTime(); + let beginTime = new Date().getTime(); console.log(me.refData.image); bootbox.prompt({ // title: "<p>Please write the transcription in the box below:</p>", message: "<p><img style='max-width: 470px' src='" + window.OetziWordsSiteUrlPrefix + 'images/' + me.refData.filename + "'/></p>", centerVertical: true, closeButton: false, buttons: { - title: "<p>Please write the transcription in the box below:</p>", message: "<p><img style='max-width: 470px' src='data:image/png;base64, "+me.refData.image+"'/></p>", centerVertical: true, closeButton: false, buttons: { + title: "<p>Please write the transcription in the box below:</p>", + message: + "<p><img style='max-width: 470px' src='data:image/png;base64, " + + me.refData.image + + "'/></p>", + centerVertical: true, + closeButton: false, + buttons: { confirm: { - label: 'Confirm' - } - }, callback: function (result) { - let endTime = (new Date()).getTime(); + label: "Confirm", + }, + }, + callback: function (result) { + let endTime = new Date().getTime(); let deltaTime = endTime - beginTime; - fadeBG.setVisible(false) + fadeBG.setVisible(false); if (result.trim().length === 0) { - hit = false + hit = false; } - axios.post(window.OetziWordsSiteUrlPrefix + 'CheckTranscription', { - refData: me.refData, transcription: result, deltaTime: deltaTime - }) + axios + .post(window.OetziWordsSiteUrlPrefix + "CheckTranscription", { + refData: me.refData, + transcription: result, + deltaTime: deltaTime, + }) .then(function (response) { // console.log(response.data); - hit = response.data.hitTheTarget + hit = response.data.hitTheTarget; if (consecutiveMissing >= 3 && deltaTime >= 3000) { - consecutiveMissing = 0 - hit = true + consecutiveMissing = 0; + hit = true; } if (hit) { - consecutiveMissing = 0 + consecutiveMissing = 0; } else { - consecutiveMissing++ + consecutiveMissing++; } - - let startPoint = new Phaser.Math.Vector2(player.x, player.y); - let controlPoint1 = new Phaser.Math.Vector2(enemy.x + ((player.x - enemy.x) / 2), scene.cameras.main.height - (player.x - enemy.x)); - - - let endPoint = new Phaser.Math.Vector2(enemy.x + (enemy.width * 1.6), scene.cameras.main.height - 60); - let message = scene.add.sprite(scene.cameras.main.width/2, scene.cameras.main.height/2).setScale(1) - + let controlPoint1 = new Phaser.Math.Vector2( + enemy.x + (player.x - enemy.x) / 2, + scene.cameras.main.height - (player.x - enemy.x), + ); + + let endPoint = new Phaser.Math.Vector2( + enemy.x + enemy.width * 1.6, + scene.cameras.main.height - 60, + ); + let message = scene.add + .sprite( + scene.cameras.main.width / 2, + scene.cameras.main.height / 2, + ) + .setScale(1); // hit / missing <--- message if (!hit) { - endPoint = new Phaser.Math.Vector2(-500, scene.cameras.main.height - 60); - message.play({key: "missing", repeat: 1}) - message.on('animationcomplete', ()=>{ - message.anims.remove('miss') - message.destroy() + endPoint = new Phaser.Math.Vector2( + -500, + scene.cameras.main.height - 60, + ); + message.play({ key: "missing", repeat: 1 }); + message.on("animationcomplete", () => { + message.anims.remove("miss"); + message.destroy(); }); - - }else{ - let message = scene.add.sprite(scene.cameras.main.width/2, scene.cameras.main.height/2).setScale(1) - message.play({key: "hit", repeat: 1}) - message.on('animationcomplete', ()=>{ - message.anims.remove('hit') - message.destroy() + } else { + let message = scene.add + .sprite( + scene.cameras.main.width / 2, + scene.cameras.main.height / 2, + ) + .setScale(1); + message.play({ key: "hit", repeat: 1 }); + message.on("animationcomplete", () => { + message.anims.remove("hit"); + message.destroy(); }); - } - let curve = new Phaser.Curves.QuadraticBezier(startPoint, controlPoint1, endPoint); + let curve = new Phaser.Curves.QuadraticBezier( + startPoint, + controlPoint1, + endPoint, + ); let graphics = scene.add.graphics(); graphics.lineStyle(1, 0xff00ff, 1); // curve.draw(graphics); // decomment to see the trajectory - let spear = scene.add.follower(curve); // console.log(player.x + " " + enemy.x); if (hit) { - - spear.startFollow({ - positionOnPath: true, duration: (scene.cameras.main.width - enemy.x) * 3, rotateToPath: true, verticalAdjust: true, scale: 3, onComplete: (x, y) => { + positionOnPath: true, + duration: (scene.cameras.main.width - enemy.x) * 3, + rotateToPath: true, + verticalAdjust: true, + scale: 3, + onComplete: (x, y) => { console.log("done"); - let spearHitObj = scene.add.sprite(enemy.x + (enemy.width * 1.6) - 10, scene.cameras.main.height - 60).setScale(2) - setAnimation(spearHitObj, "spearHitAni") - spear.anims.stop('spearAni') - spear.anims.remove('spearAni') - spear.destroy() + let spearHitObj = scene.add + .sprite( + enemy.x + enemy.width * 1.6 - 10, + scene.cameras.main.height - 60, + ) + .setScale(2); + setAnimation(spearHitObj, "spearHitAni"); + spear.anims.stop("spearAni"); + spear.anims.remove("spearAni"); + spear.destroy(); setTimeout(() => { - enemy.flipX = false - setAnimation(enemy, enemy.typeName + "_run") - enemy.movement.stop() + enemy.flipX = false; + setAnimation(enemy, enemy.typeName + "_run"); + enemy.movement.stop(); scene.tweens.add({ - targets: enemy, x: -500, duration: 5000, onComplete: function () { - enemy.destroy() + targets: enemy, + x: -500, + duration: 5000, + onComplete: function () { + enemy.destroy(); callback(me); - } - }) - }, 3000) + }, + }); + }, 3000); setTimeout(() => { - spearHitObj.destroy() - }, 4000) - } + spearHitObj.destroy(); + }, 4000); + }, }); } else { - enemy.setInteractive() - enemy.movement.resume() - setAnimation(enemy, enemy.typeName + "_walk") + enemy.setInteractive(); + enemy.movement.resume(); + setAnimation(enemy, enemy.typeName + "_walk"); spear.startFollow({ - positionOnPath: true, duration: 3000, rotateToPath: true, verticalAdjust: true, scale: 3, + positionOnPath: true, + duration: 3000, + rotateToPath: true, + verticalAdjust: true, + scale: 3, }); } - - spear.scale = 2 - spear.anims.play('spearAni') + spear.scale = 2; + spear.anims.play("spearAni"); //console.log(enemy.typeName); - - }) - } //callback bootbox + }); + }, //callback bootbox }); }); - - // here to implement health scene.physics.add.overlap(player, enemy, (p, nemico) => { - nemico.disableInteractive() - nemico.body.enable = false - nemico.movement.pause() - nemico.play(nemico.typeName + "_idle") + nemico.disableInteractive(); + nemico.body.enable = false; + nemico.movement.pause(); + nemico.play(nemico.typeName + "_idle"); setTimeout(() => { - nemico.play(nemico.typeName + "_run") + nemico.play(nemico.typeName + "_run"); nemico.movement.stop(); scene.tweens.add({ - targets: nemico, x: scene.cameras.main.width + 100, duration: 2000, onComplete: function () { - nemico.destroy() + targets: nemico, + x: scene.cameras.main.width + 100, + duration: 2000, + onComplete: function () { + nemico.destroy(); callback(me); - } - }) - - }, 3000) + }, + }); + }, 3000); }); - } } - function setAnimation(obj, idleKey) { - obj.play({key: idleKey, repeat: -1}) + obj.play({ key: idleKey, repeat: -1 }); } diff --git a/frontend/src/js/plugins.js b/frontend/src/js/plugins.js index feb7d19..c5a77bc 100644 --- a/frontend/src/js/plugins.js +++ b/frontend/src/js/plugins.js @@ -1,12 +1,32 @@ // Avoid `console` errors in browsers that lack a console. -(function() { +(function () { var method; var noop = function () {}; var methods = [ - 'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error', - 'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log', - 'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd', - 'timeline', 'timelineEnd', 'timeStamp', 'trace', 'warn' + "assert", + "clear", + "count", + "debug", + "dir", + "dirxml", + "error", + "exception", + "group", + "groupCollapsed", + "groupEnd", + "info", + "log", + "markTimeline", + "profile", + "profileEnd", + "table", + "time", + "timeEnd", + "timeline", + "timelineEnd", + "timeStamp", + "trace", + "warn", ]; var length = methods.length; var console = (window.console = window.console || {}); @@ -19,6 +39,6 @@ console[method] = noop; } } -}()); +})(); // Place any jQuery/helper plugins in here. -- GitLab