using System; namespace ShiroginSDK.Runtime.Modules.Events { public static partial class ShiroginEvents { public static class Player { [Serializable] public class PlayerLevelUpEvent { public int OldLevel; public int NewLevel; public int TotalXP; public PlayerLevelUpEvent(int oldLevel, int newLevel, int totalXp) { OldLevel = oldLevel; NewLevel = newLevel; TotalXP = totalXp; } } [Serializable] public class ExperienceGainedEvent { public int Amount; public string Source; public ExperienceGainedEvent(int amount, string source) { Amount = amount; Source = source; } } [Serializable] public class MissionCompletedEvent { public string MissionId; public bool IsDaily; public MissionCompletedEvent(string missionId, bool isDaily) { MissionId = missionId; IsDaily = isDaily; } } [Serializable] public class PlayerSignedUpEvent { public string PlayerId; public string Method; public PlayerSignedUpEvent(string playerId, string method) { PlayerId = playerId; Method = method; } } [Serializable] public class PlayerLoggedInEvent { public string PlayerId; public string Method; public PlayerLoggedInEvent(string playerId, string method) { PlayerId = playerId; Method = method; } } [Serializable] public class PlayerAnalyticsEvent { public string PlayerId; public string Action; // signup, login, logout, etc. public string Method; public PlayerAnalyticsEvent(string playerId, string action, string method) { PlayerId = playerId; Action = action; Method = method; } } } } }