-const DEBUG_MODE: boolean = !!process.env.DEBUG_MODE || false;
+const DEBUG_MODE: boolean = process.env.DEBUG_MODE as any === true;
const API_URL = process.env.API_URL || "http://api.workadventure.localhost";
const ROOM = [process.env.ROOM || "THECODINGMACHINE"];
const RESOLUTION = 4;
this.setVelocity(x, y);
- //todo improve animations to better account for diagonal movement
- if (this.body.velocity.x > 0) { //moving right
- this.play(PlayerAnimationNames.WalkRight, true);
- }
- if (this.body.velocity.x < 0) { //moving left
- this.anims.playReverse(PlayerAnimationNames.WalkLeft, true);
- }
+ //up or down animationss are prioritized over left and right
if (this.body.velocity.y < 0) { //moving up
this.play(PlayerAnimationNames.WalkUp, true);
- }
- if (this.body.velocity.y > 0) { //moving down
+ } else if (this.body.velocity.y > 0) { //moving down
this.play(PlayerAnimationNames.WalkDown, true);
+ } else if (this.body.velocity.x > 0) { //moving right
+ this.play(PlayerAnimationNames.WalkRight, true);
+ } else if (this.body.velocity.x < 0) { //moving left
+ this.anims.playReverse(PlayerAnimationNames.WalkLeft, true);
}
if(this.bubble) {
let speedMultiplier = activeEvents.get(UserInputEvent.SpeedUp) ? 25 : 9;
let moveAmount = speedMultiplier * delta;
+ let x = 0;
+ let y = 0;
if (activeEvents.get(UserInputEvent.MoveUp)) {
- this.move(0, -moveAmount);
- haveMove = true;
+ y = - moveAmount;
direction = PlayerAnimationNames.WalkUp;
+ } else if (activeEvents.get(UserInputEvent.MoveDown)) {
+ y = moveAmount;
+ direction = PlayerAnimationNames.WalkDown;
}
if (activeEvents.get(UserInputEvent.MoveLeft)) {
- this.move(-moveAmount, 0);
- haveMove = true;
+ x = -moveAmount;
direction = PlayerAnimationNames.WalkLeft;
- }
- if (activeEvents.get(UserInputEvent.MoveDown)) {
- this.move(0, moveAmount);
- haveMove = true;
- direction = PlayerAnimationNames.WalkDown;
- }
- if (activeEvents.get(UserInputEvent.MoveRight)) {
- this.move(moveAmount, 0);
- haveMove = true;
+ } else if (activeEvents.get(UserInputEvent.MoveRight)) {
+ x = moveAmount;
direction = PlayerAnimationNames.WalkRight;
}
- if (!haveMove) {
+ if (x !== 0 || y !== 0) {
+ this.move(x, y);
+ } else {
direction = PlayerAnimationNames.None;
this.stop();
}