2017-05-23 12:26:33 -07:00
|
|
|
/**
|
|
|
|
|
* 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.
|
|
|
|
|
*/
|
2017-05-28 10:34:18 -07:00
|
|
|
Trigger.prototype.EndGameAction = function()
|
2017-05-23 12:26:33 -07:00
|
|
|
{
|
2018-04-15 09:47:51 -07:00
|
|
|
if (!this.once || Engine.QueryInterface(SYSTEM_ENTITY, IID_PlayerManager).GetActivePlayers().length)
|
2017-06-10 17:51:11 -07:00
|
|
|
return;
|
2017-05-23 12:26:33 -07:00
|
|
|
|
2017-06-10 17:51:11 -07:00
|
|
|
this.once = false;
|
2017-05-23 12:26:33 -07:00
|
|
|
|
2025-05-09 10:44:52 -07:00
|
|
|
for (const player of Engine.GetEntitiesWithInterface(IID_StatisticsTracker))
|
2017-06-10 17:51:11 -07:00
|
|
|
{
|
2025-05-09 10:44:52 -07:00
|
|
|
const cmpStatisticsTracker = Engine.QueryInterface(player, IID_StatisticsTracker);
|
2017-06-10 17:51:11 -07:00
|
|
|
if (cmpStatisticsTracker)
|
|
|
|
|
print(cmpStatisticsTracker.GetStatisticsJSON() + "\n");
|
|
|
|
|
}
|
2017-05-23 12:26:33 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
{
|
2025-05-09 10:44:52 -07:00
|
|
|
const cmpTrigger = Engine.QueryInterface(SYSTEM_ENTITY, IID_Trigger);
|
2017-06-10 17:51:11 -07:00
|
|
|
cmpTrigger.RegisterTrigger("OnPlayerWon", "EndGameAction", { "enabled": true });
|
|
|
|
|
cmpTrigger.RegisterTrigger("OnPlayerDefeated", "EndGameAction", { "enabled": true });
|
|
|
|
|
cmpTrigger.once = true;
|
2017-05-23 12:26:33 -07:00
|
|
|
}
|