12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- using System;
- using PhotoshopFile;
- using UnityEngine;
- using UnityEngine.Analytics;
-
- namespace UnityEditor.U2D.PSD
- {
- [Serializable]
- internal struct PSDApplyEvent
- #if USE_NEW_EDITOR_ANALYTICS
- : IAnalytic.IData
- #endif
- {
- public const string name = "psdImporterApply";
-
- public int instance_id;
- public int texture_type;
- public int sprite_mode;
- public bool mosaic_layer;
- public bool import_hidden_layer;
- public bool character_mode;
- public bool generate_go_hierarchy;
- public bool reslice_from_layer;
- public bool is_character_rigged;
- public SpriteAlignment character_alignment;
- public bool is_psd;
- public PsdColorMode color_mode;
- }
-
- #if USE_NEW_EDITOR_ANALYTICS
- [AnalyticInfo(eventName: PSDApplyEvent.name,
- vendorKey: Analytics.vendorKey,
- version: Analytics.version,
- maxEventsPerHour: Analytics.maxEventsPerHour,
- maxNumberOfElements: Analytics.maxNumberOfElements)]
- internal class PSDApplyEventAnalytic : IAnalytic
- {
- PSDApplyEvent m_EvtData;
-
- public PSDApplyEventAnalytic(PSDApplyEvent evtData)
- {
- m_EvtData = evtData;
- }
-
- public bool TryGatherData(out IAnalytic.IData data, out Exception error)
- {
- data = m_EvtData;
- error = null;
- return true;
- }
- }
- #endif
-
- internal interface IAnalytics
- {
- AnalyticsResult SendApplyEvent(PSDApplyEvent evt);
- }
-
- internal static class AnalyticFactory
- {
- static IAnalytics s_Analytics;
-
- public static IAnalytics analytics
- {
- get => s_Analytics ??= new Analytics();
- set => s_Analytics = value;
- }
- }
-
- [InitializeOnLoad]
- internal class Analytics : IAnalytics
- {
- public const int maxEventsPerHour = 100;
- public const int maxNumberOfElements = 1000;
- public const string vendorKey = "unity.2d.psdimporter";
- public const int version = 1;
-
- static Analytics()
- {
- #if !USE_NEW_EDITOR_ANALYTICS
- EditorAnalytics.RegisterEventWithLimit(PSDApplyEvent.name, maxEventsPerHour, maxNumberOfElements, vendorKey, version);
- #endif
- }
-
- public AnalyticsResult SendApplyEvent(PSDApplyEvent evt)
- {
- #if USE_NEW_EDITOR_ANALYTICS
- return EditorAnalytics.SendAnalytic(new PSDApplyEventAnalytic(evt));
- #else
- return EditorAnalytics.SendEventWithLimit(PSDApplyEvent.name, evt, version);
- #endif
- }
- }
- }
|