Files
real-shooter/Assets/Scripts/Statistics/StatisticManager.cs
2022-05-16 01:13:50 +07:00

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.OnDamageReceived += 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);
}
}