to new git
This commit is contained in:
19
Assets/Scripts/Statistics/Logger.cs
Normal file
19
Assets/Scripts/Statistics/Logger.cs
Normal file
@ -0,0 +1,19 @@
|
||||
using System.IO;
|
||||
using UnityEngine;
|
||||
|
||||
public class Logger
|
||||
{
|
||||
private const string directory = "/Logs/";
|
||||
private const string baseName = "Log#";
|
||||
|
||||
public static void SaveLog<T>(T objToSerialize)
|
||||
{
|
||||
string dir = Application.persistentDataPath + directory;
|
||||
if (!Directory.Exists(dir))
|
||||
Directory.CreateDirectory(dir);
|
||||
|
||||
var logName = baseName + (Directory.GetFiles(dir).Length + 1).ToString();
|
||||
string json = JsonUtility.ToJson(objToSerialize);
|
||||
File.WriteAllText(dir + logName, json);
|
||||
}
|
||||
}
|
11
Assets/Scripts/Statistics/Logger.cs.meta
generated
Normal file
11
Assets/Scripts/Statistics/Logger.cs.meta
generated
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b3a1cec894fa98b4bbe20470f1e316c4
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
51
Assets/Scripts/Statistics/StatisticManager.cs
Normal file
51
Assets/Scripts/Statistics/StatisticManager.cs
Normal file
@ -0,0 +1,51 @@
|
||||
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);
|
||||
}
|
||||
}
|
11
Assets/Scripts/Statistics/StatisticManager.cs.meta
generated
Normal file
11
Assets/Scripts/Statistics/StatisticManager.cs.meta
generated
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bf3fe86787bfb0c4b8751fe495148ede
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 300
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Reference in New Issue
Block a user