mirror of
https://git.roussel.pro/telecom-paris/pact.git
synced 2026-02-09 10:30:17 +01:00
ajout d'une classe pour gérer les pages
This commit is contained in:
24
code/interface_borne/assets/js/state_manager.js
Normal file
24
code/interface_borne/assets/js/state_manager.js
Normal file
@@ -0,0 +1,24 @@
|
||||
const STATE = {
|
||||
sleeping: 0,
|
||||
video: 1,
|
||||
audio: 2,
|
||||
thankYou: 3,
|
||||
};
|
||||
|
||||
class StateManager {
|
||||
constructor(canvas) {
|
||||
this.canvas = canvas;
|
||||
this._state = STATE.sleeping;
|
||||
this._cameraPage = new CameraPage(this.canvas);
|
||||
this.wsClient = new WebsocketClient(
|
||||
(effects) => this._cameraPage.setEffects(effects),
|
||||
(state) => this.changeState(state)
|
||||
);
|
||||
}
|
||||
|
||||
setState(newState) {
|
||||
if(this._state == STATE.sleeping && newState == STATE.video) {
|
||||
this._cameraPage.enabled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user