ShatteredSword/src/shattered_sword/Scenes/Tutorial.ts

57 lines
2.3 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";
import Porcelain from "./Porcelain";
import MainMenu from "./MainMenu";
2022-04-04 03:23:10 -04:00
export default class Tutorial extends GameLevel {
2022-04-04 03:23:10 -04:00
loadScene(): void {
2022-04-08 18:01:21 -04:00
super.loadScene();
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("map", this.map);
//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");
//can load enemy sprite here
//sprites obtained from cse380 sprite wesbite
this.load.spritesheet("remus_werewolf","shattered_sword_assets/spritesheets/remus_werewolf.json");
this.load.spritesheet("black_pudding","shattered_sword_assets/spritesheets/black_pudding.json");
2022-04-04 03:23:10 -04:00
//load music here
}
2022-04-21 13:46:09 -04:00
updateScene(deltaT: number): void {
super.updateScene(deltaT);
//spawn snake()
if(Math.random() < .0001){
2022-04-21 13:46:09 -04:00
console.log("RANDOM SNAKE!");
2022-04-24 21:49:00 -04:00
this.addEnemy("Snake", this.player.position.clone().add(new Vec2(0,-320)), EnemyAI, {
2022-04-21 13:46:09 -04:00
player: this.player,
health: 50,
tilemap: "Main",
size: new Vec2(14,10),
offset : new Vec2(0, 22),
2022-04-21 13:46:09 -04:00
exp: 50,
})
}
}
protected goToNextLevel(): void {
2022-04-23 21:48:12 -04:00
this.viewport.setZoomLevel(1);
2022-04-23 21:54:28 -04:00
this.sceneManager.changeToScene(Porcelain);
}
2022-04-04 03:23:10 -04:00
}