0ad/binaries/data/mods/public/maps/scripts/NonVisualTrigger.js

26 lines
859 B
JavaScript
Raw Normal View History

/**
* This will print the statistics at the end of a game.
* In order for this to work, the player's state has to be changed before the event.
*/
Trigger.prototype.EndGameAction = function()
{
if (!this.once || Engine.QueryInterface(SYSTEM_ENTITY, IID_PlayerManager).GetActivePlayers().length)
return;
this.once = false;
for (const player of Engine.GetEntitiesWithInterface(IID_StatisticsTracker))
{
const cmpStatisticsTracker = Engine.QueryInterface(player, IID_StatisticsTracker);
if (cmpStatisticsTracker)
print(cmpStatisticsTracker.GetStatisticsJSON() + "\n");
}
};
{
const cmpTrigger = Engine.QueryInterface(SYSTEM_ENTITY, IID_Trigger);
cmpTrigger.RegisterTrigger("OnPlayerWon", "EndGameAction", { "enabled": true });
cmpTrigger.RegisterTrigger("OnPlayerDefeated", "EndGameAction", { "enabled": true });
cmpTrigger.once = true;
}