I don’t know why. It has been 36h already. I can’t find it in valid events either in invalid ones.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Unity.Services.Analytics;
using UnityServices = Unity.Services.Core.UnityServices;
using System;
// doesn't really work, just try to use unity's analytics
public class Stats : MonoBehaviour
{
int enemyDamageCounter;
int playerDamageCounter;
public static Stats i;
[SerializeField] Boss enemy;
[SerializeField] Player player;
[SerializeField] Shield shield;
time = 0;
private async void Start() {
try {
await UnityServices.InitializeAsync();
List<string> consentIdentifiers = await AnalyticsService.Instance.CheckForRequiredConsents();
Debug.Log("init");
} catch (ConsentCheckException e) {
Debug.Log("error");
// Something went wrong when checking the GeoIP, check the e.Reason and handle appropriately.
}
AnalyticsService.Instance.CustomData("Start", new Dictionary<string, object>
{
{"Enemy", enemy.ToString()},
});
}
void Awake(){
i = this;
}
void Update(){
time += Time.deltaTime;
}
// added
public void OnPlayerDamage(String cause){
Debug.Log("Player Damaged " + cause);
playerDamageCounter++;
AnalyticsService.Instance.CustomData("PlayerDamaged", new Dictionary<string, object>
{
{"Enemy", enemy.ToString()},
{"EnemyBehaviour", enemy.GetBehaviour().ToString()},
{"PlayerHealth", player.GetHealth()},
{"ShieldState", shield.GetState()},
{"Cause", cause}
});
}
// added
public void OnBehaviour(){
AnalyticsService.Instance.CustomData("Behaviour", new Dictionary<string, object>
{
{"Enemy", enemy.ToString()},
{"EnemyBehaviour", enemy.GetBehaviour().ToString()},
{"DamageDone", playerDamageCounter},
{"DamageReceived", enemyDamageCounter},
});
playerDamageCounter = 0;
enemyDamageCounter = 0;
}
// added
public void OnPlayerHeal(){
AnalyticsService.Instance.CustomData("PlayerHealed", new Dictionary<string, object>
{
{"Enemy", enemy.ToString()},
{"EnemyBehaviour", enemy.GetBehaviour().ToString()},
{"PlayerHealth", player.GetHealth()},
{"ShieldState", shield.GetState()}
});
}
// added
public void OnEnemyDamage(){
enemyDamageCounter++;
AnalyticsService.Instance.CustomData("EnemyDamaged", new Dictionary<string, object>
{
{"Enemy", enemy.ToString()},
{"EnemyBehaviour", enemy.GetBehaviour().ToString()},
});
}
// added
public void OnEnemyEnraged(){
AnalyticsService.Instance.CustomData("EnemyEnraged", new Dictionary<string, object>
{
{"Enemy", enemy.ToString()},
{"Time", time},
{"PlayerHealth", player.GetHealth()}
});
}
//added
public void OnEnd(){
AnalyticsService.Instance.CustomData("End", new Dictionary<string, object>
{
{"Enemy", enemy.ToString()},
{"WinState", enemy.GetHealth() <= 0},
{"Time", time},
{"EnemyHealth", enemy.GetHealth()},
{"PlayerHealth", player.GetHealth()}
});
}
}