Refactor detail scene elements to single class
This commit is contained in:
parent
85214fad3f
commit
d084511c6b
11 changed files with 162 additions and 335 deletions
|
|
@ -4,25 +4,22 @@ import { Contributor } from '../sketchObjects/Contributor';
|
|||
import { Legacy } from '../sketchObjects/Legacy';
|
||||
import { Package } from '../sketchObjects/Package';
|
||||
import { Player } from '../sketchObjects/Player';
|
||||
import { Revealable, RevealableInterface } from '../sketchObjects/Revealable';
|
||||
import store from '../store';
|
||||
import { Scenes } from './scenes';
|
||||
|
||||
export class DetailScene {
|
||||
player: Player;
|
||||
contributors: any[];
|
||||
legacy: any[];
|
||||
packages: any[];
|
||||
revealables: RevealableInterface[];
|
||||
revealableObjects: Revealable[];
|
||||
|
||||
constructor() {
|
||||
this.player = new Player();
|
||||
|
||||
store.subscribe((state) => {
|
||||
this.contributors = state.currContributors.map(
|
||||
(contributor) => new Contributor(100, 200, 50)
|
||||
);
|
||||
this.legacy = state.currLegacy.map((legacy) => new Legacy(200, 300, 100));
|
||||
this.packages = state.currPackages.map(
|
||||
(currPackage) => new Package(400, 300, 50, 'react', '<h3>Test</h3>')
|
||||
this.revealables = state.revealables;
|
||||
this.revealableObjects = this.revealables.map(
|
||||
(revealable) => new Revealable(revealable, { x: 100, y: 200, w: 100 })
|
||||
);
|
||||
});
|
||||
}
|
||||
|
|
@ -33,25 +30,18 @@ export class DetailScene {
|
|||
this.player.drawOnReveal();
|
||||
this.player.follow();
|
||||
|
||||
this.contributors.forEach((contributor) => {
|
||||
contributor.draw();
|
||||
});
|
||||
this.legacy.forEach((legacyObj) => {
|
||||
legacyObj.place();
|
||||
});
|
||||
this.packages.forEach((packageObj) => {
|
||||
packageObj.draw();
|
||||
this.revealableObjects.forEach((revObj) => {
|
||||
revObj.draw();
|
||||
});
|
||||
|
||||
this.player.move();
|
||||
}
|
||||
|
||||
onSceneClick() {
|
||||
// store.setState({ currentScene: Scenes.OVERVIEW });
|
||||
this.player.reveal();
|
||||
|
||||
this.packages.forEach((packageObj) => {
|
||||
packageObj.onClick();
|
||||
this.revealableObjects.forEach((revObj) => {
|
||||
revObj.onClick();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Reference in a new issue