forked from 0ad/0ad
Ykkrosh
6399ec0cd2
Support cancelling loads while inside a loader callback. Fix use of ArchiveReader/Writer since their API changed. Improve error-detection in deserializer to avoid crashes. Report deserializer errors to users. Expand load-error message box to fit message about invalid saved games. This was SVN commit r10787.
26 lines
848 B
JavaScript
26 lines
848 B
JavaScript
function InitGame(settings)
|
|
{
|
|
// This will be called after the map settings have been loaded,
|
|
// before the simulation has started.
|
|
// This is only called at the start of a new game, not when loading
|
|
// a saved game.
|
|
|
|
// No settings when loading a map in Atlas, so do nothing
|
|
if (!settings)
|
|
return;
|
|
|
|
var cmpPlayerManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_PlayerManager);
|
|
var cmpAIManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_AIManager);
|
|
for (var i = 0; i < settings.PlayerData.length; ++i)
|
|
{
|
|
if (settings.PlayerData[i] && settings.PlayerData[i].AI && settings.PlayerData[i].AI != "")
|
|
{
|
|
cmpAIManager.AddPlayer(settings.PlayerData[i].AI, i+1);
|
|
var cmpPlayer = Engine.QueryInterface(cmpPlayerManager.GetPlayerByID(i+1), IID_Player);
|
|
cmpPlayer.SetAI(true);
|
|
}
|
|
}
|
|
}
|
|
|
|
Engine.RegisterGlobal("InitGame", InitGame);
|