Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/binaries/data/mods/public/gui/gamesetup/SetupWindow.js
Show All 16 Lines | if (!g_Settings) | ||||
return; | return; | ||||
Engine.ProfileStart("SetupWindow"); | Engine.ProfileStart("SetupWindow"); | ||||
this.loadHandlers = new Set(); | this.loadHandlers = new Set(); | ||||
this.closePageHandlers = new Set(); | this.closePageHandlers = new Set(); | ||||
this.getHotloadDataHandlers = new Set(); | this.getHotloadDataHandlers = new Set(); | ||||
let mapCache = new MapCache(); | |||||
g_GameSettings = new GameSettings().init(mapCache); | |||||
let netMessages = new NetMessages(this); | let netMessages = new NetMessages(this); | ||||
let startGameControl = new StartGameControl(netMessages); | let startGameControl = new StartGameControl(netMessages); | ||||
let mapCache = new MapCache(); | |||||
let mapFilters = new MapFilters(mapCache); | let mapFilters = new MapFilters(mapCache); | ||||
let gameSettingsControl = new GameSettingsControl(this, netMessages, startGameControl, mapCache); | let gameSettingsControl = new GameSettingsControl(this, netMessages, startGameControl, mapCache); | ||||
let gameRegisterStanza = Engine.HasXmppClient() && | let gameRegisterStanza = Engine.HasXmppClient() && | ||||
new GameRegisterStanza(initData, this, netMessages, gameSettingsControl, mapCache); | new GameRegisterStanza(initData, this, netMessages, gameSettingsControl, mapCache); | ||||
let playerAssignmentsControl = new PlayerAssignmentsControl(this, netMessages, gameRegisterStanza); | let playerAssignmentsControl = new PlayerAssignmentsControl(this, netMessages, gameRegisterStanza); | ||||
let readyControl = new ReadyControl(netMessages, gameSettingsControl, startGameControl, playerAssignmentsControl); | let readyControl = new ReadyControl(netMessages, gameSettingsControl, startGameControl, playerAssignmentsControl); | ||||
// These class instances control central data and do not manage any GUI Object. | // These class instances control central data and do not manage any GUI Object. | ||||
this.controls = { | this.controls = { | ||||
"gameSettingsControl": gameSettingsControl, | "gameSettingsControl": gameSettingsControl, | ||||
"playerAssignmentsControl": playerAssignmentsControl, | "playerAssignmentsControl": playerAssignmentsControl, | ||||
"mapCache": mapCache, | "mapCache": mapCache, | ||||
"mapFilters": mapFilters, | "mapFilters": mapFilters, | ||||
"readyControl": readyControl, | "readyControl": readyControl, | ||||
"startGameControl": startGameControl, | "startGameControl": startGameControl, | ||||
"netMessages": netMessages, | "netMessages": netMessages, | ||||
"gameRegisterStanza": gameRegisterStanza | "gameRegisterStanza": gameRegisterStanza | ||||
}; | }; | ||||
// These are the pages within the setup window that may use the controls defined above | // These are the pages within the setup window that may use the controls defined above | ||||
this.pages = {}; | this.pages = {}; | ||||
for (let name in SetupWindowPages) | for (let name in SetupWindowPages) | ||||
this.pages[name] = new SetupWindowPages[name](this); | this.pages[name] = new SetupWindowPages[name](this); | ||||
setTimeout(displayGamestateNotifications, 1000); | setTimeout(displayGamestateNotifications, 1000); | ||||
Engine.GetGUIObjectByName("setupWindow").onTick = updateTimers; | Engine.GetGUIObjectByName("setupWindow").onTick = updateTimers; | ||||
// This event is triggered after all classes have been instantiated and subscribed to each others events | // This event is triggered after all classes have been instantiated and subscribed to each others events | ||||
for (let handler of this.loadHandlers) | for (let handler of this.loadHandlers) | ||||
handler(initData, hotloadData); | handler(initData, hotloadData); | ||||
Engine.ProfileStop(); | Engine.ProfileStop(); | ||||
if (gameSettingsControl.autostart) | |||||
startGameControl.launchGame(); | |||||
} | } | ||||
registerLoadHandler(handler) | registerLoadHandler(handler) | ||||
{ | { | ||||
this.loadHandlers.add(handler); | this.loadHandlers.add(handler); | ||||
} | } | ||||
unregisterLoadHandler(handler) | unregisterLoadHandler(handler) | ||||
▲ Show 20 Lines • Show All 43 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator