to new git

This commit is contained in:
2022-05-04 23:50:07 +07:00
parent 290f5515b7
commit c8af0e5284
39 changed files with 720 additions and 359 deletions

View 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
View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: b3a1cec894fa98b4bbe20470f1e316c4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View 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);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: bf3fe86787bfb0c4b8751fe495148ede
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 300
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: