class DashboardsController extends WindozController { constructor(params) { super(params) this.arenaConfig = app.Assets.Store.json.arenaConfig this.eventsMapping = app.Assets.Store.json.eventsMapping console.log('=============>DashboardsController constructor') } /** * * @returns */ async spaceViewer() { const models = { agents : new AgentsModel('/agents') } console.log('=============>spaceViewer 0') const ttb = new app.LoadedModules.Threetobus({ eventsMapping: this.eventsMapping, sceneSize: this.arenaConfig.arenaSize, }) ttb.initScene({ axes: true, grid: true, }) this.agentSprites = await models.agents.getSprites('Basic 3D') const a1 = ttb.createAgent('agent42', this.agentSprites.find(item => item.atp_name=='nocode1').asp_3d) const a2 = ttb.createAgent('agent43', this.agentSprites.find(item => item.atp_name=='nocode2').asp_3d) ttb.scene.add(a1) ttb.scene.add(a2) //TODO: eventsMapping: address child by suffix in assignations console.log('=============>spaceViewer 1') this.loadWindow( 'visualisers/SpaceView', { title: ' Live arena 3D view', static: true, expanded: false, withSettings: true, windowStyle: WindozDomContent.boxFromPrefs('live.spaceview.3D', { x: 50, y:100, w:600, h:400 }), }, { models: models, rendererId:'3drenderer', mode: '3D', ttb: ttb, } ) this.loadWindow( 'visualisers/SpaceView', { title: ' Live arena 2D View', static: true, expanded: false, withSettings: true, windowStyle: WindozDomContent.boxFromPrefs('live.spaceview.2D', { x: 500, y:100, w:600, h:400 }), }, { models: models, rendererId:'2drenderer', mode: '2D', ttb: ttb, } ) } } app.registerClass('DashboardsController', DashboardsController);