ShatteredSword/src/shattered_sword/Scenes/Tutorial.ts

88 lines
3.0 KiB
TypeScript
Raw Normal View History

import { TiledTilemapData } from "../../Wolfie2D/DataTypes/Tilesets/TiledData";
2022-04-04 03:23:10 -04:00
import Vec2 from "../../Wolfie2D/DataTypes/Vec2";
import Debug from "../../Wolfie2D/Debug/Debug";
import { GameEventType } from "../../Wolfie2D/Events/GameEventType";
import RandomMapGenerator from "../Tools/RandomMapGenerator";
2022-04-04 03:23:10 -04:00
import GameLevel from "./GameLevel";
2022-04-10 20:00:57 -04:00
import Label from "../../Wolfie2D/Nodes/UIElements/Label";
import Color from "../../Wolfie2D/Utils/Color";
import { UIElementType } from "../../Wolfie2D/Nodes/UIElements/UIElementTypes";
import { Statuses } from "../sword_enums";
import AABB from "../../Wolfie2D/DataTypes/Shapes/AABB";
import EnemyAI from "../AI/EnemyAI";
import BattlerAI from "../AI/BattlerAI";
2022-04-04 03:23:10 -04:00
export default class Tutorial extends GameLevel {
private map: TiledTilemapData;
2022-04-13 18:56:35 -04:00
private rmg: RandomMapGenerator;
2022-04-10 20:00:57 -04:00
2022-04-04 03:23:10 -04:00
loadScene(): void {
2022-04-08 18:01:21 -04:00
super.loadScene();
2022-04-04 03:23:10 -04:00
// Load resources
2022-04-05 22:16:22 -04:00
// this.load.tilemap("forest1", "shattered_sword_assets/tilemaps/Tutorial.json");
// let map = localStorage.getItem("map");
this.randomSeed = Math.floor(Math.random() * 10000000000);
2022-04-13 18:56:35 -04:00
this.rmg = new RandomMapGenerator("shattered_sword_assets/jsons/forest_template.json", this.randomSeed);
this.map = this.rmg.getMap();
this.load.tilemapFromObject("forest1", this.map);
2022-04-04 03:23:10 -04:00
this.load.spritesheet("player", "shattered_sword_assets/spritesheets/Hiro.json")
// TODO - change when done testing
this.load.spritesheet("slice", "shattered_sword_assets/spritesheets/slice.json");
//load enemies
2022-04-16 23:01:54 -04:00
this.load.spritesheet("Snake","shattered_sword_assets/spritesheets/Snake.json");
this.load.spritesheet("Tiger","shattered_sword_assets/spritesheets/Tiger.json");
2022-04-04 03:23:10 -04:00
//load music here
}
startScene(): void {
2022-04-04 03:23:10 -04:00
// Add the level 1 tilemap
this.add.tilemap("forest1", new Vec2(2, 2));
console.log("width,height:" + this.map.width, this.map.height);
this.viewport.setBounds(0, 0, this.map.width * 32, this.map.height * 32);
2022-04-08 20:16:20 -04:00
this.viewport.follow(this.player);
2022-04-04 03:23:10 -04:00
2022-04-13 18:56:35 -04:00
this.playerSpawn = this.rmg.getPlayer().scale(32);
console.log(this.playerSpawn)
2022-04-04 03:23:10 -04:00
// Do generic setup for a GameLevel
super.startScene();
let enemies = this.rmg.getEnemies();
/*
for (let enemy of enemies) {
switch (enemy.type) {
case "test_dummy":
this.addEnemy("test_dummy", enemy.position.scale(32), {
player: this.player,
health: 100,
tilemap: "Main",
//actions:actions,
goal: Statuses.REACHED_GOAL,
})
break;
default:
break;
}
}
*/
//may have to move this to start scene in gameLevel
this.initializeEnemies(enemies);
2022-04-04 03:23:10 -04:00
}
updateScene(deltaT: number): void {
super.updateScene(deltaT);
}
}