| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531 |
- #if UNITY_EDITOR
- using System;
- using UnityEditor;
- using UnityEditor.Build;
- using UnityEditor.Build.Reporting;
- using UnityEngine;
- using UnityEngine.Networking;
- using com.zibra.common.Utilities;
- using com.zibra.common.Editor.SDFObjects;
- using com.zibra.common.Editor;
- namespace com.zibra.common.Analytics
- {
- [InitializeOnLoad]
- internal static class ZibraEffectsAnalytics
- {
- const int REPORT_PERIOD = 12 * 60 * 60; // 12 hours
- const string ENGINE = "Unity";
- const int TRACKING_VERSION = 3;
- const int FRAME_UPDATE_PERIOD = 15 * 60 * 30; // 15 minutes if FPS = 30
- const int SESSION_TIMEOUT = 15 * 60; // 15 minutes
- public static void TrackBuiltPlatform(string builtPlatform)
- {
- EditorPrefs.SetBool($"ZibraEffectsTracking_Common_Built{builtPlatform}", true);
- }
- public static void TrackConfiguration(string effect)
- {
- EditorPrefs.SetBool("ZibraEffectsTracking_" + effect + "_Configured", true);
- string sessionKeyName = "ZibraEffectsTracking_" + effect + "_LastActivity";
- string prefsKeyName = "ZibraEffectsTracking_" + effect + "_SessionTime";
- int currentTime = GetCurrentTimeAsUnixTimestamp();
- int lastActivity = SessionState.GetInt(sessionKeyName, currentTime);
- if (currentTime - lastActivity < SESSION_TIMEOUT)
- {
- int oldSessionTime = EditorPrefs.GetInt(prefsKeyName, 0);
- EditorPrefs.SetInt(prefsKeyName, oldSessionTime + currentTime - lastActivity);
- }
- SessionState.SetInt(sessionKeyName, currentTime);
- }
- public static void CheckSendPeriod()
- {
- int dateNow = GetCurrentTimeAsUnixTimestamp();
- if (!EditorPrefs.HasKey("ZibraEffectsTracking_Common_LastSentDate"))
- {
- EditorPrefs.SetInt("ZibraEffectsTracking_Common_LastSentDate", dateNow);
- return;
- }
- int lastSentDate = EditorPrefs.GetInt("ZibraEffectsTracking_Common_LastSentDate");
- if (dateNow - lastSentDate > REPORT_PERIOD)
- {
- ZibraEffectsAnalyticsStruct data = GetAnalyticsData();
- string jsonData = JsonUtility.ToJson(data);
- ZibraEffectsAnalyticsSender.SendAnalyticsData(jsonData);
- }
- }
- static int FrameCount = FRAME_UPDATE_PERIOD;
- private static void Update()
- {
- if (FrameCount == FRAME_UPDATE_PERIOD)
- {
- FrameCount = 0;
- CheckSendPeriod();
- }
- else
- {
- FrameCount++;
- }
- }
- [InitializeOnLoadMethod]
- private static void OnLoad()
- {
- // Don't track something that is potentially build-machine
- if (Application.isBatchMode)
- {
- return;
- }
- EditorApplication.update += Update;
- }
- // Structure used with JSON parser
- private struct ZibraEffectsAnalyticsStruct
- {
- // Common
- public int TrackingVersion;
- public string LicenseKeys;
- public string HardwareId;
- public string PluginSKU;
- public string Engine;
- public string VersionNumber;
- public string DeveloperOS;
- public string EditorsGraphicsAPI;
- public string EngineVersion;
- public string RenderPipeline;
- public bool BuiltPlatformWindows;
- public bool BuiltPlatformMacOS;
- public bool BuiltPlatformLinux;
- public bool BuiltPlatformUWP;
- public bool BuiltPlatformAndroid;
- public bool BuiltPlatformiOS;
- // SDFs
- public bool SDF_Configured;
- public int SDF_SessionTime;
- // Liquid
- public bool Liquids_Available;
- public bool Liquids_Used;
- public bool Liquids_Configured;
- public int Liquids_SessionTime;
- public bool Liquids_MeshRenderUsed;
- public bool Liquids_OmniRenderUsed;
- public bool Liquids_UnityRenderUsed;
- public bool Liquids_RenderDownscaleUsed;
- public int Liquids_MinGridNodesUsed;
- public int Liquids_MaxGridNodesUsed;
- public int Liquids_MinMaxParticleCount;
- public int Liquids_MaxMaxParticleCount;
- public int Liquids_MinGridResolutionUsed;
- public int Liquids_MaxGridResolutionUsed;
- public bool Liquids_ManipulatorEmitterAnalytic;
- public bool Liquids_ManipulatorEmitterNeural;
- public bool Liquids_ManipulatorEmitterSkinnedMesh;
- public bool Liquids_ManipulatorVoidAnalytic;
- public bool Liquids_ManipulatorVoidNeural;
- public bool Liquids_ManipulatorVoidSkinnedMesh;
- public bool Liquids_ManipulatorForceFieldAnalytic;
- public bool Liquids_ManipulatorForceFieldNeural;
- public bool Liquids_ManipulatorForceFieldSkinnedMesh;
- public bool Liquids_ManipulatorColliderAnalytic;
- public bool Liquids_ManipulatorColliderNeural;
- public bool Liquids_ManipulatorColliderSkinnedMesh;
- public bool Liquids_ManipulatorDetectorAnalytic;
- public bool Liquids_ManipulatorDetectorNeural;
- public bool Liquids_ManipulatorDetectorSkinnedMesh;
- public bool Liquids_ManipulatorSpeciesModifierAnalytic;
- public bool Liquids_ManipulatorSpeciesModifierNeural;
- public bool Liquids_ManipulatorSpeciesModifierSkinnedMesh;
- public bool Liquids_InitialBakedStateUsed;
- public bool Liquids_InitialBakedStateSaved;
- // Smoke & Fire
- public bool SmokeAndFire_Available;
- public bool SmokeAndFire_Used;
- public bool SmokeAndFire_Configured;
- public int SmokeAndFire_SessionTime;
- public bool SmokeAndFire_RenderDownscaleUsed;
- public bool SmokeAndFire_SimulationModeSmokeUsed;
- public bool SmokeAndFire_SimulationModeColoredSmokeUsed;
- public bool SmokeAndFire_SimulationModeFireUsed;
- public int SmokeAndFire_MinGridResolutionUsed;
- public int SmokeAndFire_MaxGridResolutionUsed;
- public int SmokeAndFire_MinGridNodesUsed;
- public int SmokeAndFire_MaxGridNodesUsed;
- public bool SmokeAndFire_ManipulatorEmitterAnalytic;
- public bool SmokeAndFire_ManipulatorEmitterNeural;
- public bool SmokeAndFire_ManipulatorEmitterSkinnedMesh;
- public bool SmokeAndFire_ManipulatorVoidAnalytic;
- public bool SmokeAndFire_ManipulatorVoidNeural;
- public bool SmokeAndFire_ManipulatorVoidSkinnedMesh;
- public bool SmokeAndFire_ManipulatorColliderAnalytic;
- public bool SmokeAndFire_ManipulatorColliderNeural;
- public bool SmokeAndFire_ManipulatorColliderSkinnedMesh;
- public bool SmokeAndFire_ManipulatorDetectorAnalytic;
- public bool SmokeAndFire_ManipulatorDetectorNeural;
- public bool SmokeAndFire_ManipulatorDetectorSkinnedMesh;
- public bool SmokeAndFire_ManipulatorEffectParticleEmitterrAnalytic;
- public bool SmokeAndFire_ManipulatorEffectParticleEmitterNeural;
- public bool SmokeAndFire_ManipulatorEffectParticleEmitterSkinnedMesh;
- public bool SmokeAndFire_ManipulatorTextureEmitterAnalytic;
- public bool SmokeAndFire_ManipulatorTextureEmitterNeural;
- public bool SmokeAndFire_ManipulatorTextureEmitterSkinnedMesh;
- public bool SmokeAndFire_ManipulatorForceFieldAnalytic;
- public bool SmokeAndFire_ManipulatorForceFieldNeural;
- public bool SmokeAndFire_ManipulatorForceFieldSkinnedMesh;
- }
- private static ZibraEffectsAnalyticsStruct GetAnalyticsData()
- {
- ZibraEffectsAnalyticsStruct data = new ZibraEffectsAnalyticsStruct();
- // Common
- data.LicenseKeys = String.Join(",", ServerAuthManager.GetInstance().PluginLicenseKeys);
- data.HardwareId = PluginManager.GetHardwareID();
- #if ZIBRA_EFFECTS_OTP_VERSION
- data.PluginSKU = "OTP";
- #else
- data.PluginSKU = "Pro";
- #endif
- data.Engine = ENGINE;
- data.TrackingVersion = TRACKING_VERSION;
- data.VersionNumber = Effects.Version;
- data.DeveloperOS = SystemInfo.operatingSystemFamily.ToString();
- data.EditorsGraphicsAPI = SystemInfo.graphicsDeviceType.ToString();
- data.EngineVersion = Application.unityVersion.ToString();
- data.RenderPipeline = RenderPipelineDetector.GetRenderPipelineType().ToString();
- data.BuiltPlatformWindows = EditorPrefs.GetBool("ZibraEffectsTracking_Common_BuiltWindows", false);
- data.BuiltPlatformLinux = EditorPrefs.GetBool("ZibraEffectsTracking_Common_BuiltLinux", false);
- data.BuiltPlatformMacOS = EditorPrefs.GetBool("ZibraEffectsTracking_Common_BuiltMacOS", false);
- data.BuiltPlatformUWP = EditorPrefs.GetBool("ZibraEffectsTracking_Common_BuiltUWP", false);
- data.BuiltPlatformAndroid = EditorPrefs.GetBool("ZibraEffectsTracking_Common_BuiltAndroid", false);
- data.BuiltPlatformiOS = EditorPrefs.GetBool("ZibraEffectsTracking_Common_BuiltIOS", false);
- // SDF
- data.SDF_Configured = EditorPrefs.GetBool("ZibraEffectsTracking_SDF_Configured", false);
- data.SDF_SessionTime = EditorPrefs.GetInt("ZibraEffectsTracking_SDF_SessionTime", 0);
- // Liquid
- data.Liquids_Available = PluginManager.IsAvailable(PluginManager.Effect.Liquid);
- data.Liquids_Used = EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_Used", false);
- data.Liquids_Configured = EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_Configured", false);
- data.Liquids_SessionTime = EditorPrefs.GetInt("ZibraEffectsTracking_Liquids_SessionTime", 0);
- data.Liquids_MeshRenderUsed = EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_MeshRendererUsed", false);
- data.Liquids_UnityRenderUsed = EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_UnityRendererUsed", false);
- data.Liquids_OmniRenderUsed = EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_OmniRendererUsed", false);
- data.Liquids_RenderDownscaleUsed =
- EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_RenderDownscaleUsed", false);
- data.Liquids_MinGridNodesUsed =
- EditorPrefs.GetInt("ZibraEffectsTracking_Liquids_MinNodeCount", int.MaxValue);
- data.Liquids_MaxGridNodesUsed = EditorPrefs.GetInt("ZibraEffectsTracking_Liquids_MaxNodeCount", 0);
- data.Liquids_MinMaxParticleCount =
- EditorPrefs.GetInt("ZibraEffectsTracking_Liquids_MinMaxParticleCount", int.MaxValue);
- data.Liquids_MaxMaxParticleCount =
- EditorPrefs.GetInt("ZibraEffectsTracking_Liquids_MaxMaxParticleCount", 0);
- data.Liquids_MinGridResolutionUsed =
- EditorPrefs.GetInt("ZibraEffectsTracking_Liquids_MinGridResolution", int.MaxValue);
- data.Liquids_MaxGridResolutionUsed =
- EditorPrefs.GetInt("ZibraEffectsTracking_Liquids_MaxGridResolution", 0);
- data.Liquids_ManipulatorEmitterAnalytic =
- EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_ManipulatorEmitterAnalyticSDF", false);
- data.Liquids_ManipulatorEmitterNeural =
- EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_ManipulatorEmitterNeuralSDF", false);
- data.Liquids_ManipulatorEmitterSkinnedMesh =
- EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_ManipulatorEmitterSkinnedMeshSDF", false);
- data.Liquids_ManipulatorVoidAnalytic =
- EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_ManipulatorVoidAnalyticSDF", false);
- data.Liquids_ManipulatorVoidNeural =
- EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_ManipulatorVoidNeuralSDF", false);
- data.Liquids_ManipulatorVoidSkinnedMesh =
- EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_ManipulatorVoidSkinnedMeshSDF", false);
- data.Liquids_ManipulatorForceFieldAnalytic =
- EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_ManipulatorForceFieldAnalyticSDF", false);
- data.Liquids_ManipulatorForceFieldNeural =
- EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_ManipulatorForceFieldNeuralSDF", false);
- data.Liquids_ManipulatorForceFieldSkinnedMesh =
- EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_ManipulatorForceFieldSkinnedMeshSDF", false);
- data.Liquids_ManipulatorColliderAnalytic =
- EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_ManipulatorColliderAnalyticSDF", false);
- data.Liquids_ManipulatorColliderNeural =
- EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_ManipulatorColliderNeuralSDF", false);
- data.Liquids_ManipulatorColliderSkinnedMesh =
- EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_ManipulatorColliderSkinnedMeshSDF", false);
- data.Liquids_ManipulatorDetectorAnalytic =
- EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_ManipulatorDetectorAnalyticSDF", false);
- data.Liquids_ManipulatorDetectorNeural =
- EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_ManipulatorDetectorNeuralSDF", false);
- data.Liquids_ManipulatorDetectorSkinnedMesh =
- EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_ManipulatorDetectorSkinnedMeshSDF", false);
- data.Liquids_ManipulatorSpeciesModifierAnalytic =
- EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_ManipulatorSpeciesModifierAnalyticSDF", false);
- data.Liquids_ManipulatorSpeciesModifierNeural =
- EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_ManipulatorSpeciesModifierNeuralSDF", false);
- data.Liquids_ManipulatorSpeciesModifierSkinnedMesh =
- EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_ManipulatorSpeciesModifierSkinnedMeshSDF", false);
- data.Liquids_InitialBakedStateUsed =
- EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_BakedStateUsed", false);
- data.Liquids_InitialBakedStateSaved =
- EditorPrefs.GetBool("ZibraEffectsTracking_Liquids_Liquids_BakedStateSaved", false);
- // Smoke & Fire
- data.SmokeAndFire_Available = PluginManager.IsAvailable(PluginManager.Effect.Smoke);
- data.SmokeAndFire_Used = EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_Used", false);
- data.SmokeAndFire_Configured = EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_Configured", false);
- data.SmokeAndFire_SessionTime = EditorPrefs.GetInt("ZibraEffectsTracking_SmokeAndFire_SessionTime", 0);
- data.SmokeAndFire_RenderDownscaleUsed =
- EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_RenderDownscaleUsed", false);
- data.SmokeAndFire_SimulationModeSmokeUsed =
- EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_SimulationModeSmokeUsed", false);
- data.SmokeAndFire_SimulationModeColoredSmokeUsed =
- EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_SimulationModeColoredSmokeUsed", false);
- data.SmokeAndFire_SimulationModeFireUsed =
- EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_SimulationModeFireUsed", false);
- data.SmokeAndFire_MinGridResolutionUsed =
- EditorPrefs.GetInt("ZibraEffectsTracking_SmokeAndFire_MinGridResolution", int.MaxValue);
- data.SmokeAndFire_MaxGridResolutionUsed =
- EditorPrefs.GetInt("ZibraEffectsTracking_SmokeAndFire_MaxGridResolution", 0);
- data.SmokeAndFire_MinGridNodesUsed =
- EditorPrefs.GetInt("ZibraEffectsTracking_SmokeAndFire_MinNodeCount", int.MaxValue);
- data.SmokeAndFire_MaxGridNodesUsed =
- EditorPrefs.GetInt("ZibraEffectsTracking_SmokeAndFire_MaxNodeCount", 0);
- data.SmokeAndFire_ManipulatorEmitterAnalytic =
- EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_ManipulatorEmitterAnalyticSDF", false);
- data.SmokeAndFire_ManipulatorEmitterNeural =
- EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_ManipulatorEmitterNeuralSDF", false);
- data.SmokeAndFire_ManipulatorEmitterSkinnedMesh =
- EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_ManipulatorEmitterSkinnedMeshSDF", false);
- data.SmokeAndFire_ManipulatorVoidAnalytic =
- EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_ManipulatorVoidAnalyticSDF", false);
- data.SmokeAndFire_ManipulatorVoidNeural =
- EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_ManipulatorVoidNeuralSDF", false);
- data.SmokeAndFire_ManipulatorVoidSkinnedMesh =
- EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_ManipulatorVoidSkinnedMeshSDF", false);
- data.SmokeAndFire_ManipulatorColliderAnalytic =
- EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_ManipulatorColliderAnalyticSDF", false);
- data.SmokeAndFire_ManipulatorColliderNeural =
- EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_ManipulatorColliderNeuralSDF", false);
- data.SmokeAndFire_ManipulatorColliderSkinnedMesh =
- EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_ManipulatorColliderSkinnedMeshSDF", false);
- data.SmokeAndFire_ManipulatorDetectorAnalytic =
- EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_ManipulatorDetectorAnalyticSDF", false);
- data.SmokeAndFire_ManipulatorDetectorNeural =
- EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_ManipulatorDetectorNeuralSDF", false);
- data.SmokeAndFire_ManipulatorDetectorSkinnedMesh =
- EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_ManipulatorDetectorSkinnedMeshSDF", false);
- data.SmokeAndFire_ManipulatorEffectParticleEmitterrAnalytic = EditorPrefs.GetBool(
- "ZibraEffectsTracking_SmokeAndFire_ManipulatorEffectParticleEmitterrAnalyticSDF", false);
- data.SmokeAndFire_ManipulatorEffectParticleEmitterNeural = EditorPrefs.GetBool(
- "ZibraEffectsTracking_SmokeAndFire_ManipulatorEffectParticleEmitterNeuralSDF", false);
- data.SmokeAndFire_ManipulatorEffectParticleEmitterSkinnedMesh = EditorPrefs.GetBool(
- "ZibraEffectsTracking_SmokeAndFire_ManipulatorEffectParticleEmitterSkinnedMeshSDF", false);
- data.SmokeAndFire_ManipulatorTextureEmitterAnalytic =
- EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_ManipulatorTextureEmitterAnalyticSDF", false);
- data.SmokeAndFire_ManipulatorTextureEmitterNeural =
- EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_ManipulatorTextureEmitterNeuralSDF", false);
- data.SmokeAndFire_ManipulatorTextureEmitterSkinnedMesh =
- EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_ManipulatorTextureEmitterSkinnedMeshSDF", false);
- data.SmokeAndFire_ManipulatorForceFieldAnalytic =
- EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_ManipulatorForceFieldAnalyticSDF", false);
- data.SmokeAndFire_ManipulatorForceFieldNeural =
- EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_ManipulatorForceFieldNeuralSDF", false);
- data.SmokeAndFire_ManipulatorForceFieldSkinnedMesh =
- EditorPrefs.GetBool("ZibraEffectsTracking_SmokeAndFire_ManipulatorForceFieldSkinnedMeshSDF", false);
- return data;
- }
- public static void CleanAnalyticData()
- {
- // Common
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Common_BuiltWindows");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Common_BuiltMacOS");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Common_BuiltLinux");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Common_BuiltUWP");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Common_BuiltAndroid");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Common_BuiltIOS");
- // SDF
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SDF_Configured");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SDF_SessionTime");
- SessionState.EraseInt("ZibraEffectsTracking_SDF_LastActivity");
- // Liquid
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_Used");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_Configured");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_SessionTime");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_MeshRendererUsed");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_UnityRendererUsed");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_OmniRendererUsed");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_RenderDownscaleUsed");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_MinNodeCount");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_MaxNodeCount");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_MinMaxParticleCount");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_MaxMaxParticleCount");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_MinGridResolution");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_MaxGridResolution");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_ManipulatorEmitterAnalyticSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_ManipulatorEmitterNeuralSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_ManipulatorEmitterSkinnedMeshSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_ManipulatorVoidAnalyticSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_ManipulatorVoidNeuralSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_ManipulatorVoidSkinnedMeshSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_ManipulatorForceFieldAnalyticSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_ManipulatorForceFieldNeuralSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_ManipulatorForceFieldSkinnedMeshSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_ManipulatorColliderAnalyticSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_ManipulatorColliderrNeuralSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_ManipulatorColliderSkinnedMeshSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_ManipulatorDetectorAnalyticSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_ManipulatorDetectorNeuralSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_ManipulatorDetectorSkinnedMeshSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_ManipulatorSpeciesModifierAnalyticSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_ManipulatorSpeciesModifierNeuralSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_ManipulatorSpeciesModifierSkinnedMeshSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_BakedStateUsed");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_Liquids_Liquids_BakedStateSaved");
- SessionState.EraseInt("ZibraEffectsTracking_Liquids_LastActivity");
- // Smoke & Fire
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_Used");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_Configured");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_SessionTime");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_RenderDownscaleUsed");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_SimulationModeSmokeUsed");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_SimulationModeColoredSmokeUsed");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_SimulationModeFireUsed");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_MinGridResolution");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_MaxGridResolution");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_MinNodeCount");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_MaxNodeCount");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_ManipulatorEmitterAnalyticSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_ManipulatorEmitterNeuralSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_ManipulatorEmitterSkinnedMeshSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_ManipulatorVoidAnalyticSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_ManipulatorVoidNeuralSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_ManipulatorVoidSkinnedMeshSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_ManipulatorColliderAnalyticSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_ManipulatorColliderrNeuralSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_ManipulatorColliderSkinnedMeshSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_ManipulatorDetectorAnalyticSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_ManipulatorDetectorNeuralSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_ManipulatorDetectorSkinnedMeshSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_ManipulatorEffectParticleEmitterrAnalyticSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_ManipulatorEffectParticleEmitterNeuralSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_ManipulatorEffectParticleEmitterSkinnedMeshSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_ManipulatorTextureEmitterAnalyticSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_ManipulatorTextureEmitterNeuralSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_ManipulatorTextureEmitterSkinnedMeshSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_ManipulatorForceFieldAnalyticSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_ManipulatorForceFieldNeuralSDF");
- EditorPrefs.DeleteKey("ZibraEffectsTracking_SmokeAndFire_ManipulatorForceFieldSkinnedMeshSDF");
- SessionState.EraseInt("ZibraEffectsTracking_SmokeAndFire_LastActivity");
- EditorPrefs.SetInt("ZibraEffectsTracking_Common_LastSentDate", GetCurrentTimeAsUnixTimestamp());
- }
- public static int GetCurrentTimeAsUnixTimestamp()
- {
- return (int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds;
- }
- }
- internal class ZibraLiquidBuildPostProcessor : IPostprocessBuildWithReport
- {
- public int callbackOrder
- {
- get {
- return 0;
- }
- }
- public void OnPostprocessBuild(BuildReport report)
- {
- switch (report.summary.platform)
- {
- case BuildTarget.StandaloneOSX:
- ZibraEffectsAnalytics.TrackBuiltPlatform("MacOS");
- break;
- case BuildTarget.StandaloneWindows:
- case BuildTarget.StandaloneWindows64:
- ZibraEffectsAnalytics.TrackBuiltPlatform("Windows");
- break;
- case BuildTarget.iOS:
- ZibraEffectsAnalytics.TrackBuiltPlatform("IOS");
- break;
- case BuildTarget.Android:
- ZibraEffectsAnalytics.TrackBuiltPlatform("Android");
- break;
- case BuildTarget.WSAPlayer:
- ZibraEffectsAnalytics.TrackBuiltPlatform("UWP");
- break;
- case BuildTarget.StandaloneLinux64:
- ZibraEffectsAnalytics.TrackBuiltPlatform("Linux");
- break;
- }
- }
- }
- internal static class ZibraEffectsAnalyticsSender
- {
- const string ANALYTIC_API_URL = "https://analytics.zibra.ai/api/pluginUsageAnalytics";
- const int SUCCESS_CODE = 201;
- private static UnityWebRequestAsyncOperation request;
- public static void SendAnalyticsData(string jsonData)
- {
- if (request != null)
- {
- return;
- }
- #if UNITY_2022_2_OR_NEWER
- request = UnityWebRequest.PostWwwForm(ANALYTIC_API_URL, jsonData).SendWebRequest();
- #else
- request = UnityWebRequest.Post(ANALYTIC_API_URL, jsonData).SendWebRequest();
- #endif
- request.completed += UpdateRequest;
- }
- private static void UpdateRequest(AsyncOperation obj)
- {
- if (request == null || !request.isDone)
- {
- return;
- }
- #if UNITY_2020_2_OR_NEWER
- if (request.webRequest.result != UnityWebRequest.Result.Success)
- #else
- if (request.webRequest.isHttpError || request.webRequest.isNetworkError)
- #endif
- {
- request.webRequest.Dispose();
- request = null;
- return;
- }
- if (request.webRequest.responseCode != SUCCESS_CODE)
- {
- request.webRequest.Dispose();
- request = null;
- return;
- }
- ZibraEffectsAnalytics.CleanAnalyticData();
- request.webRequest.Dispose();
- request = null;
- }
- }
- }
- #endif
|