added a rock
This commit is contained in:
parent
793e5318f7
commit
241cbd720a
BIN
front/dist/resources/objects/rockSprite.png
vendored
Normal file
BIN
front/dist/resources/objects/rockSprite.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
@ -1,6 +1,10 @@
|
||||
import {MapManagerInterface, MapManager} from "./MapManager";
|
||||
import {GameManagerInterface} from "./GameManager";
|
||||
|
||||
export enum Textures {
|
||||
Rock = 'rock',
|
||||
}
|
||||
|
||||
export interface GameSceneInterface extends Phaser.Scene {
|
||||
RoomId : string;
|
||||
sharedUserPosition(data : []): void;
|
||||
@ -18,6 +22,7 @@ export class GameScene extends Phaser.Scene implements GameSceneInterface{
|
||||
|
||||
//hook preload scene
|
||||
preload(): void {
|
||||
this.load.image(Textures.Rock, 'resources/objects/rockSprite.png');
|
||||
this.load.image('tiles', 'maps/tiles.png');
|
||||
this.load.tilemapTiledJSON('map', 'maps/map2.json');
|
||||
this.load.spritesheet('player',
|
||||
|
@ -1,8 +1,9 @@
|
||||
import {CameraManager, CameraManagerInterface} from "./CameraManager";
|
||||
import {RESOLUTION} from "../../Enum/EnvironmentVariable";
|
||||
import {Player} from "../Player/Player";
|
||||
import {GameScene, GameSceneInterface} from "./GameScene";
|
||||
import {UserInputManager} from "../UserInput/UserInputManager";
|
||||
import {Rock} from "../Rock/Rock";
|
||||
import {GameSceneInterface} from "./GameScene";
|
||||
import {UserInputEvent, UserInputManager} from "../UserInput/UserInputManager";
|
||||
|
||||
export interface MapManagerInterface {
|
||||
Map: Phaser.Tilemaps.Tilemap;
|
||||
@ -21,6 +22,7 @@ export class MapManager implements MapManagerInterface{
|
||||
startX = (window.innerWidth / 2) / RESOLUTION;
|
||||
startY = (window.innerHeight / 2) / RESOLUTION;
|
||||
userInputManager: UserInputManager;
|
||||
private rock: Rock;
|
||||
|
||||
constructor(scene: GameSceneInterface){
|
||||
this.Scene = scene;
|
||||
@ -44,11 +46,21 @@ export class MapManager implements MapManagerInterface{
|
||||
this
|
||||
);
|
||||
this.CurrentPlayer.initAnimation();
|
||||
this.rock = new Rock(
|
||||
this.Scene,
|
||||
100,
|
||||
300,
|
||||
);
|
||||
//this.rock.set()
|
||||
}
|
||||
|
||||
update() : void {
|
||||
let activeEvents = this.userInputManager.getEventListForGameTick();
|
||||
|
||||
this.CurrentPlayer.move(activeEvents);
|
||||
|
||||
/*if (activeEvents.get(UserInputEvent.Interact)) {
|
||||
|
||||
}*/
|
||||
}
|
||||
}
|
28
front/src/Phaser/Rock/Rock.ts
Normal file
28
front/src/Phaser/Rock/Rock.ts
Normal file
@ -0,0 +1,28 @@
|
||||
import {GameSceneInterface, Textures} from "../Game/GameScene";
|
||||
import {CameraManagerInterface} from "../Game/CameraManager";
|
||||
import {MapManagerInterface} from "../Game/MapManager";
|
||||
|
||||
export class Rock extends Phaser.GameObjects.Image {
|
||||
private isMoving: boolean;
|
||||
|
||||
constructor(
|
||||
Scene : GameSceneInterface,
|
||||
x : number,
|
||||
y : number,
|
||||
) {
|
||||
super(Scene, x, y, Textures.Rock);
|
||||
Scene.add.existing(this);
|
||||
this.isMoving = false;
|
||||
}
|
||||
|
||||
push() {
|
||||
console.log("the rock is pushed!")
|
||||
}
|
||||
|
||||
move() {
|
||||
if(!this.isMoving) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -13,6 +13,7 @@ export enum UserInputEvent {
|
||||
MoveRight,
|
||||
MoveDown,
|
||||
SpeedUp,
|
||||
Interact,
|
||||
}
|
||||
|
||||
//we cannot the map structure so we have to create a replacment
|
||||
@ -43,6 +44,8 @@ export class UserInputManager {
|
||||
{keyCode: Phaser.Input.Keyboard.KeyCodes.RIGHT, event: UserInputEvent.MoveRight, keyInstance: null},
|
||||
|
||||
{keyCode: Phaser.Input.Keyboard.KeyCodes.SHIFT, event: UserInputEvent.SpeedUp, keyInstance: null},
|
||||
|
||||
{keyCode: Phaser.Input.Keyboard.KeyCodes.E, event: UserInputEvent.Interact, keyInstance: null},
|
||||
];
|
||||
|
||||
constructor(Scene : GameSceneInterface) {
|
||||
|
@ -12,6 +12,9 @@ const config: GameConfig = {
|
||||
parent: "game",
|
||||
scene: gameManager.GameScenes,
|
||||
zoom: RESOLUTION,
|
||||
physics: {
|
||||
default: 'impact'
|
||||
},
|
||||
};
|
||||
|
||||
let game = new Phaser.Game(config);
|
||||
|
Loading…
Reference in New Issue
Block a user