Implement basic scene manager with ability to switch between scenes
This commit is contained in:
parent
9063b45180
commit
f9079e4823
7 changed files with 75 additions and 21 deletions
17
main.ts
17
main.ts
|
|
@ -1,29 +1,24 @@
|
|||
import p5 from 'p5';
|
||||
import { SCREEN_WIDTH, SCREEN_HEIGHT } from './src/constants/screen';
|
||||
import { OverviewScene } from './src/scenes/OverviewScene';
|
||||
import { SceneManager } from './src/scenes/SceneManager';
|
||||
import { Scenes } from './src/scenes/scenes';
|
||||
|
||||
const sketch = (s) => {
|
||||
let currentScene: Scenes = Scenes.OVERVIEW;
|
||||
let overviewScene: OverviewScene;
|
||||
const sketch = (s: p5) => {
|
||||
let sm: SceneManager;
|
||||
|
||||
s.setup = () => {
|
||||
s.createCanvas(SCREEN_WIDTH, SCREEN_HEIGHT);
|
||||
s.noCursor();
|
||||
|
||||
overviewScene = new OverviewScene();
|
||||
sm = new SceneManager();
|
||||
};
|
||||
|
||||
s.draw = () => {
|
||||
if (currentScene === Scenes.OVERVIEW) {
|
||||
overviewScene.draw();
|
||||
}
|
||||
sm.draw();
|
||||
};
|
||||
|
||||
s.mousePressed = () => {
|
||||
if (currentScene === Scenes.OVERVIEW) {
|
||||
overviewScene.onSceneClick();
|
||||
}
|
||||
sm.handleClick();
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
Reference in a new issue