Reorganized code: created Entity base class
[shapeshift.git] / shapeshift.js
index 37481aaab41c2f94088815ffebe602a3e738b873..14b4fda470cdcb3ee4ed6b72c01fde2a890ac306 100644 (file)
             }
         }, false);
 
-        class Player extends Phaser.Sprite {
+        class Entity extends Phaser.Sprite {
             constructor(x, y, sprite) {
                 super(game, x, y, sprite);
-                this.anchor.setTo(.4,.5);
+                this.anchor.setTo(.5,.5);
                 this.scale.x = 0.5;
                 this.scale.y = this.scale.x;
-                this.pushed = 0;
-                this.shape = SHAPE_GIRL;
-                this.learnedBird = false;
             }
 
             enablePhysics() {
             }
         }
 
-        class Guard extends Phaser.Sprite {
+        class Player extends Entity {
+            constructor(x, y, sprite) {
+                super(x, y, sprite);
+                this.anchor.setTo(.4,.5);
+                this.pushed = 0;
+                this.shape = SHAPE_GIRL;
+                this.learnedBird = false;
+            }
+        }
+
+        class Guard extends Entity {
             constructor(x, y, sprite, dialogues) {
                 //var guard = game.add.sprite(x, y, sprite);
-                super(game, x, y, sprite);
-                this.anchor.setTo(.5,.5);
-                this.scale.x = 0.5;
-                this.scale.y = this.scale.x;
+                super(x, y, sprite);
                 this.dialogues = dialogues;
                 guards.add(this);
             }
-
-            enablePhysics() {
-                game.physics.arcade.enable(this);
-                this.body.bounce.y = 0.2;
-                this.body.bounce.x = 0.2;
-                this.body.gravity.y = 300;
-                this.body.collideWorldBounds = true;
-            }
         }
 
         function sign(n) {