pokemon / 680.bundle.js
akhaliq's picture
akhaliq HF staff
Upload 8 files
89d3000 verified
"use strict";(self.webpackChunkpokemon_red_clone=self.webpackChunkpokemon_red_clone||[]).push([[680],{680:(t,i,s)=>{s.r(i),s.d(i,{default:()=>e});class e{constructor(t,i,s,e,a){return this.scene=t,this.sprite=t.physics.add.sprite(i,s,e,a),this.sprite.setCollideWorldBounds(!0),this.sprite.setSize(14,14),this.sprite.setOffset(1,2),this.data={name:"Red",pokemon:[],facing:"down",items:[],badges:0,money:0,isMoving:!1,isRunning:!1,lastPosition:{x:i,y:s}},this.movementSettings={walkSpeed:100,runSpeed:160,gridSize:16,gridMovement:!0},this.sprite.player=this,this}update(t){this.movementSettings.gridSize&&this.movementSettings.gridMovement?this.updateGridMovement(t):this.updateFreeMovement(t),this.sprite.x!==this.data.lastPosition.x||this.sprite.y!==this.data.lastPosition.y?(this.data.isMoving=!0,this.data.lastPosition={x:this.sprite.x,y:this.sprite.y}):this.data.isMoving=!1,t.shift&&t.shift.isDown?this.data.isRunning=!0:this.data.isRunning=!1}updateFreeMovement(t){this.sprite.setVelocity(0);const i=this.data.isRunning?this.movementSettings.runSpeed:this.movementSettings.walkSpeed;t.left.isDown?(this.sprite.setVelocityX(-i),this.sprite.anims.play("player-walk-left",!0),this.data.facing="left"):t.right.isDown?(this.sprite.setVelocityX(i),this.sprite.anims.play("player-walk-right",!0),this.data.facing="right"):t.up.isDown?(this.sprite.setVelocityY(-i),this.sprite.anims.play("player-walk-up",!0),this.data.facing="up"):t.down.isDown?(this.sprite.setVelocityY(i),this.sprite.anims.play("player-walk-down",!0),this.data.facing="down"):(this.sprite.anims.stop(),this.setIdleFrame())}updateGridMovement(t){if(this.isMovingToTarget())return void this.continueGridMovement();this.sprite.setVelocity(0),this.sprite.anims.stop(),this.setIdleFrame();const i=this.data.isRunning?this.movementSettings.runSpeed:this.movementSettings.walkSpeed;t.left.isDown?this.startGridMovement("left",i):t.right.isDown?this.startGridMovement("right",i):t.up.isDown?this.startGridMovement("up",i):t.down.isDown&&this.startGridMovement("down",i)}startGridMovement(t,i){this.data.facing=t;const s=this.getTargetPosition(t);this.canMoveTo(s.x,s.y)?(this.targetPosition=s,this.sprite.anims.play(`player-walk-${t}`,!0),this.scene.physics.moveTo(this.sprite,s.x,s.y,i)):this.setIdleFrame()}continueGridMovement(){Phaser.Math.Distance.Between(this.sprite.x,this.sprite.y,this.targetPosition.x,this.targetPosition.y)<2&&(this.sprite.setVelocity(0),this.sprite.x=this.targetPosition.x,this.sprite.y=this.targetPosition.y,this.targetPosition=null,this.sprite.anims.stop(),this.setIdleFrame())}isMovingToTarget(){return void 0!==this.targetPosition&&null!==this.targetPosition}getTargetPosition(t){const i=this.movementSettings.gridSize;switch(t){case"left":return{x:this.sprite.x-i,y:this.sprite.y};case"right":return{x:this.sprite.x+i,y:this.sprite.y};case"up":return{x:this.sprite.x,y:this.sprite.y-i};case"down":return{x:this.sprite.x,y:this.sprite.y+i};default:return{x:this.sprite.x,y:this.sprite.y}}}canMoveTo(t,i){return!0}setIdleFrame(){switch(this.data.facing){case"left":this.sprite.setFrame(8);break;case"right":this.sprite.setFrame(12);break;case"up":this.sprite.setFrame(4);break;default:this.sprite.setFrame(0)}}getFacingPosition(){const t={x:this.sprite.x,y:this.sprite.y},i=this.movementSettings.gridSize;switch(this.data.facing){case"left":t.x-=i;break;case"right":t.x+=i;break;case"up":t.y-=i;break;case"down":t.y+=i}return t}addPokemon(t){this.data.pokemon.push(t)}addItem(t){this.data.items.push(t)}addBadge(){this.data.badges++}addMoney(t){this.data.money+=t}}}}]);