Moved common game entity code into parent class
authorJustin Worthe <justin.worthe@gmail.com>
Wed, 24 Sep 2014 15:20:56 +0000 (17:20 +0200)
committerJustin Worthe <justin.worthe@gmail.com>
Wed, 24 Sep 2014 15:20:56 +0000 (17:20 +0200)
game/entities/bonusPill.js
game/entities/entityBase.js [new file with mode: 0644]
game/entities/pill.js
game/entities/player.js
game/entities/poisonPill.js
game/entities/wall.js
game/states/play.js

index dd8dfce..ee4d79b 100644 (file)
@@ -1,18 +1,14 @@
 'use strict';
 
-var BonusPill = function(game, x, y, frame) {
-  Phaser.Sprite.call(this, game, x, y, 'bonus-pill', frame);
-  this.scale = {x: 0.01, y: 0.01};
-  this.anchor = {x: 0.5, y: 0.5};
+var EntityBase = require('../entities/entityBase');
+
+var BonusPill = function(game, x, y) {
+  EntityBase.call(this, game, x, y, 'bonus-pill');
 
   this.score = 10;
 };
 
-BonusPill.prototype = Object.create(Phaser.Sprite.prototype);
+BonusPill.prototype = Object.create(EntityBase.prototype);
 BonusPill.prototype.constructor = BonusPill;
 
-BonusPill.prototype.getBounds = function() {
-  return new Phaser.Rectangle(this.x, this.y, 0.2, 0.2);
-};
-
 module.exports = BonusPill;
diff --git a/game/entities/entityBase.js b/game/entities/entityBase.js
new file mode 100644 (file)
index 0000000..1c70b92
--- /dev/null
@@ -0,0 +1,14 @@
+'use strict';
+
+var EntityBase = function(game, x, y, key) {
+  Phaser.Sprite.call(this, game, x, y, key);
+  this.scale = {x: 0.01, y: 0.01};
+  this.anchor = {x: 0.5, y: 0.5};
+};
+EntityBase.prototype = Object.create(Phaser.Sprite.prototype);
+
+EntityBase.prototype.getBounds = function() {
+  return new Phaser.Rectangle(this.x, this.y, 0.5, 0.5);
+};
+
+module.exports = EntityBase;
\ No newline at end of file
index 13054b0..af64a4c 100644 (file)
@@ -1,18 +1,14 @@
 'use strict';
 
-var Pill = function(game, x, y, frame) {
-  Phaser.Sprite.call(this, game, x, y, 'pill', frame);
-  this.scale = {x: 0.01, y: 0.01};
-  this.anchor = {x: 0.5, y: 0.5};
+var EntityBase = require('../entities/entityBase');
+
+var Pill = function(game, x, y) {
+  EntityBase.call(this, game, x, y, 'pill');
 
   this.score = 1;
 };
 
-Pill.prototype = Object.create(Phaser.Sprite.prototype);
+Pill.prototype = Object.create(EntityBase.prototype);
 Pill.prototype.constructor = Pill;
 
-Pill.prototype.getBounds = function() {
-  return new Phaser.Rectangle(this.x, this.y, 0.2, 0.2);
-};
-
 module.exports = Pill;
index c7f0b94..f8c7a8b 100644 (file)
@@ -1,9 +1,11 @@
 'use strict';
 
-var Player = function(game, x, y, key, frame, soundKey) {
+var EntityBase = require('../entities/entityBase');
+
+var Player = function(game, x, y, key, soundKey) {
   var player = this;
 
-  Phaser.Sprite.call(this, game, x, y, key, frame);
+  EntityBase.call(this, game, x, y, key);
   this.animations.add('active', [0]);
   this.animations.add('waiting', [1]);
   this.animations.add('activePoison', [2]);
@@ -47,7 +49,7 @@ var Player = function(game, x, y, key, frame, soundKey) {
   };
 };
 
-Player.prototype = Object.create(Phaser.Sprite.prototype);
+Player.prototype = Object.create(EntityBase.prototype);
 Player.prototype.constructor = Player;
 
 Player.prototype.update = function() {
@@ -111,8 +113,4 @@ Player.prototype.finishMovement = function() {
   this.lastTween = null;
 };
 
-Player.prototype.getBounds = function() {
-  return new Phaser.Rectangle(this.x, this.y, 0.2, 0.2);
-};
-
 module.exports = Player;
index 408f77f..08b2952 100644 (file)
@@ -1,18 +1,12 @@
 'use strict';
 
-var PoisonPill = function(game, x, y, frame) {
-  Phaser.Sprite.call(this, game, x, y, 'poison-pill', frame);
-  this.scale = {x: 0.01, y: 0.01};
-  this.anchor = {x: 0.5, y: 0.5};
+var EntityBase = require('../entities/entityBase');
 
-  this.score = 1;
+var PoisonPill = function(game, x, y) {
+  EntityBase.call(this, game, x, y, 'poison-pill');
 };
 
-PoisonPill.prototype = Object.create(Phaser.Sprite.prototype);
+PoisonPill.prototype = Object.create(EntityBase.prototype);
 PoisonPill.prototype.constructor = PoisonPill;
 
-PoisonPill.prototype.getBounds = function() {
-  return new Phaser.Rectangle(this.x, this.y, 0.2, 0.2);
-};
-
 module.exports = PoisonPill;
index c4eee79..8a6e45d 100644 (file)
@@ -1,12 +1,12 @@
 'use strict';
 
-var Wall = function(game, x, y, frame) {
-  Phaser.Sprite.call(this, game, x, y, 'wall', frame);
-  this.scale = {x: 0.01, y: 0.01};
-  this.anchor = {x: 0.5, y: 0.5};
+var EntityBase = require('../entities/entityBase');
+
+var Wall = function(game, x, y) {
+  EntityBase.call(this, game, x, y, 'wall');
 };
 
-Wall.prototype = Object.create(Phaser.Sprite.prototype);
+Wall.prototype = Object.create(EntityBase.prototype);
 Wall.prototype.constructor = Wall;
 
 module.exports = Wall;
index d872c71..cabe9cf 100644 (file)
@@ -183,11 +183,11 @@ Play.prototype = {
             this.pills.add(new BonusPill(this.game, x, y));
             break;
           case 'A':
-            this.playerA = new Player(this.game, x, y, 'player-a', 0, 'omSound');
+            this.playerA = new Player(this.game, x, y, 'player-a', 'omSound');
             this.players.add(this.playerA);
             break;
           case 'B':
-            this.playerB = new Player(this.game, x, y, 'player-b', 0, 'nomSound');
+            this.playerB = new Player(this.game, x, y, 'player-b', 'nomSound');
             this.players.add(this.playerB);
             break;
           case '|':