52 lines
1.1 KiB
C#
52 lines
1.1 KiB
C#
using UnityEngine;
|
|
|
|
internal class Log
|
|
{
|
|
public int damageTakenByDefs = 0;
|
|
public int damageTakenByAtc = 0;
|
|
|
|
public int AtcWin = 0;
|
|
public int DefWin = 0;
|
|
|
|
public int TimeOuts = 0;
|
|
}
|
|
|
|
public class StatisticManager : MonoBehaviour
|
|
{
|
|
private Log log = new Log();
|
|
private void Awake()
|
|
{
|
|
foreach (var npc in GameObject.FindObjectsOfType<NPC>())
|
|
npc.OnDamageRecieved += RegisterDamage;
|
|
|
|
GlobalEventManager.OnCaptureFlag += RegisterWin;
|
|
GlobalEventManager.OnTimeLeft += RegisterTimeOut;
|
|
}
|
|
|
|
private void RegisterDamage(int damage, Team team)
|
|
{
|
|
if (team == Team.Attackers)
|
|
log.damageTakenByAtc += damage;
|
|
else
|
|
log.damageTakenByDefs += damage;
|
|
}
|
|
|
|
private void RegisterWin(Team team)
|
|
{
|
|
if (team == Team.Attackers)
|
|
log.AtcWin += 1;
|
|
else
|
|
log.DefWin += 1;
|
|
}
|
|
|
|
private void RegisterTimeOut()
|
|
{
|
|
log.TimeOuts += 1;
|
|
}
|
|
|
|
private void OnApplicationQuit()
|
|
{
|
|
Logger.SaveLog<Log>(log);
|
|
}
|
|
}
|