Skip to content
This repository has been archived by the owner on Nov 13, 2023. It is now read-only.

Commit

Permalink
Merge branch feature/level4 into main (#86)
Browse files Browse the repository at this point in the history
* Level4 added

-Implement Level4
- Insert Level 4 in Game

* reworked level 3 and positoning of buttons

* rework level4

* rebased

* review adjustments
  • Loading branch information
Quadral1403 committed Jun 15, 2023
1 parent cdd36f7 commit 6ce9de0
Show file tree
Hide file tree
Showing 13 changed files with 358 additions and 42 deletions.
6 changes: 4 additions & 2 deletions src/ts/game/entities/goal.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@ import AssetManager from "../../engine/assets/assetmanager.js";
import Services from "../../engine/dependencyinjection/services.js";
import Entity from "../../engine/entitiy/entity.js";
import EntityManager from "../../engine/entitiy/entitymanager.js";
import MovingEntity from "../../engine/entitiy/movingentity.js";
import EngineEvent from "../../engine/event/engineevent.js";
import EngineEventHandler from "../../engine/event/engineventhandler.js";
import PlayerEntity from "./playerentity.js";

class Goal extends Entity {
class Goal extends MovingEntity {
private _isTouched;
private _onTouch: EngineEventHandler<Goal, EngineEvent<Goal>>;
private _entityManager: EntityManager;
Expand All @@ -33,7 +34,7 @@ class Goal extends Entity {
scalingY,
widthExpansion,
heightExpansion,
true,
false,
Services.resolve<AssetManager>("AssetManager").getTexture("goal")
);

Expand All @@ -43,6 +44,7 @@ class Goal extends Entity {
}

public update(delta: number): void {
super.update(delta);
if (this._entityManager) {
let shouldBePressed =
this._entityManager.touches.filter(
Expand Down
4 changes: 0 additions & 4 deletions src/ts/game/entities/metalwallentity.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,6 @@ class MetalWallEntity extends Entity {
Services.resolve<AssetManager>("AssetManager").getTexture("bridge")
);
}

update(delta: number): void {
// Do nothing
}
}

export default MetalWallEntity;
30 changes: 30 additions & 0 deletions src/ts/game/entities/metalwallentity2.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import AssetManager from "../../engine/assets/assetmanager.js";
import Services from "../../engine/dependencyinjection/services.js";
import Entity from "../../engine/entitiy/entity.js";

class MetalWallEntity2 extends Entity {
constructor(
x: number,
y: number,
scalingX: number,
scalingY: number,
widthExpansion: number,
heightExpansion: number
) {
super(
x,
y,
0,
0,
0,
scalingX,
scalingY,
widthExpansion,
heightExpansion,
false,
Services.resolve<AssetManager>("AssetManager").getTexture("bridge")
);
}
}

export default MetalWallEntity2;
4 changes: 3 additions & 1 deletion src/ts/game/gamesetup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,13 @@ import SceneManager from "../engine/scene/scenemanager.js";
import Level1 from "./levels/level1.js";
import Level2 from "./levels/level2.js";
import Level3 from "./levels/level3.js";
import MainMenu from "./scenes/mainmenu.js";
import Level4 from "./levels/level4.js";
import InGame from "./scenes/ingame.js";
import Level1Scene from "./scenes/level1scene.js";
import Level2Scene from "./scenes/level2scene.js";
import LevelOverview from "./scenes/leveloverview.js";
import GameOver from "./scenes/gameover.js";
import MainMenu from "./scenes/mainmenu.js";

class GameSetup extends EngineSetup {
public loadAssets(
Expand Down Expand Up @@ -983,6 +984,7 @@ class GameSetup extends EngineSetup {
levelManager.register("level1", new Level1());
levelManager.register("level2", new Level2());
levelManager.register("level3", new Level3());
levelManager.register("level4", new Level4());
}

registerScenes(sceneManager: SceneManager): void {
Expand Down
2 changes: 1 addition & 1 deletion src/ts/game/levels/level1.ts
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ class Level1 implements Level {
this._buttonGround = new ButtonGround(175, 490, 1.3, 1.3, 0, 0);
this._buttonStanding = new ButtonStanding(550, 470, 1.1, 1.1, 0, 0, 0);
this._companionCube = new CompanionCube(200, 250, 0.5, 0.5, 0, 0);
this._goal = new Goal(685, 275, 1.6, 1.6, 0, 0);
this._goal = new Goal(685, 255, 1.6, 1.6, 0, 0);

let returnArray: Entity[] = [
background,
Expand Down
2 changes: 1 addition & 1 deletion src/ts/game/levels/level2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ class Level2 implements Level {
let cornerBrickLeft = new LeftCornerBrickEntity(0, 550, 1.5, 1.5, 0, 0);
let cornerBrickRight = new RightCornerBrickEntity(750, 550, 1.5, 1.5, 0, 0);

this._goal = new Goal(70, 170, 1.6, 1.6, 0, 0);
this._goal = new Goal(70, 150, 1.6, 1.6, 0, 0);

let returnArray: Entity[] = [];
returnArray.push(window);
Expand Down
47 changes: 28 additions & 19 deletions src/ts/game/levels/level3.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,18 +61,18 @@ class Level3 implements Level {
this._assetManager.getTexture("level1-background")
);

let player = new PlayerEntity(270, 400);
let player = new PlayerEntity(70, 400);
let cornerBrickLeft = new LeftCornerBrickEntity(0, 550, 1.5, 1.5, 0, 0);
let cornerBrickRight = new RightCornerBrickEntity(750, 550, 1.5, 1.5, 0, 0);

this._buttonGround1 = new ButtonGround(520, 490, 1.3, 1.3, 0, 0);
this._buttonGround2 = new ButtonGround(370, 490, 1.3, 1.3, 0, 0);
this._buttonGround1 = new ButtonGround(170, 490, 1.3, 1.3, 0, 0);
this._buttonGround2 = new ButtonGround(320, 490, 1.3, 1.3, 0, 0);

let companionCube1 = new CompanionCube(200, 0, 0.5, 0.5, 0, 0);
let companionCube1 = new CompanionCube(150, 0, 0.5, 0.5, 0, 0);
let companionCube2 = new CompanionCube(600, 0, 0.5, 0.5, 0, 0);
this._companionCubes = [companionCube1, companionCube2];

this._goal = new Goal(70, 470, 1.6, 1.6, 0, 0);
this._goal = new Goal(670, 450, 1.6, 1.6, 0, 0);

let entities: Entity[] = [
window,
Expand Down Expand Up @@ -100,9 +100,14 @@ class Level3 implements Level {
}

for (let i = 0; i < 4; i++) {
let middleBrick = new MiddleBrickEntity(50 + i * 50, 200, 1.5, 1.5, 0, 0);
entities.push(middleBrick);
}

for (let i = 0; i < 6; i++) {
let middleBrick = new MiddleBrickEntity(
550 + i * 50,
200,
450 + i * 50,
350,
1.5,
1.5,
0,
Expand All @@ -111,22 +116,24 @@ class Level3 implements Level {
entities.push(middleBrick);
}

for (let i = 0; i < 6; i++) {
let middleBrick = new MiddleBrickEntity(50 + i * 50, 350, 1.5, 1.5, 0, 0);
entities.push(middleBrick);
}

for (let i = 0; i < 4; i++) {
let middleBrick = new MiddleBrickEntity(50 + i * 50, 400, 1.5, 1.5, 0, 0);
let middleBrick = new MiddleBrickEntity(
550 + i * 50,
400,
1.5,
1.5,
0,
0
);
entities.push(middleBrick);
}

for (let i = 0; i < 2; i++) {
let bridgeEntity = new BridgeEntity(200, 450 + i * 50, 1.5, 1.5, 0, 0);
let bridgeEntity = new BridgeEntity(550, 450 + i * 50, 1.5, 1.5, 0, 0);
entities.push(bridgeEntity);

let metalWallEntity = new MetalWallEntity(
150,
600,
450 + i * 50,
1.5,
1.5,
Expand All @@ -141,8 +148,10 @@ class Level3 implements Level {

public load(): void {
this._goal.onTouch.subscribe((engineEvent: EngineEvent<Goal>) => {
Services.resolve<LevelManager>("LevelManager").unload();
Services.resolve<SceneManager>("SceneManager").switch("gameover");
Services.resolve<SceneManager>("SceneManager").switch("ingame");
let levelManager: LevelManager =
Services.resolve<LevelManager>("LevelManager");
levelManager.start("level4");
});
this._buttonGround1.onUnpress.subscribe(
(engineEvent: EngineEvent<ButtonGround>) => {
Expand All @@ -155,7 +164,7 @@ class Level3 implements Level {
}
for (let i = 0; i < 2; i++) {
this._entityManager.register(
new BridgeEntity(200, 450 + i * 50, 1.5, 1.5, 0, 0)
new BridgeEntity(550, 450 + i * 50, 1.5, 1.5, 0, 0)
);
}
}
Expand All @@ -172,7 +181,7 @@ class Level3 implements Level {
}
for (let i = 0; i < 2; i++) {
this._entityManager.register(
new MetalWallEntity(150, 450 + i * 50, 1.5, 1.5, 0, 0)
new MetalWallEntity(600, 450 + i * 50, 1.5, 1.5, 0, 0)
);
}
}
Expand Down
Loading

0 comments on commit 6ce9de0

Please sign in to comment.