first commit
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
using System;
|
||||
using UnityEditor;
|
||||
using UnityEngine.Analytics;
|
||||
|
||||
namespace AssetStoreTools.Uploader.Data
|
||||
{
|
||||
internal static class ASAnalytics
|
||||
{
|
||||
private const int VersionId = 3;
|
||||
private const int MaxEventsPerHour = 20;
|
||||
private const int MaxNumberOfElements = 1000;
|
||||
|
||||
private const string VendorKey = "unity.assetStoreTools";
|
||||
private const string EventName = "assetStoreTools";
|
||||
|
||||
static bool EnableAnalytics()
|
||||
{
|
||||
#if UNITY_2023_2_OR_NEWER
|
||||
return true;
|
||||
#else
|
||||
var result = EditorAnalytics.RegisterEventWithLimit(EventName, MaxEventsPerHour, MaxNumberOfElements, VendorKey, VersionId);
|
||||
return result == AnalyticsResult.Ok;
|
||||
#endif
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public struct AnalyticsData
|
||||
#if UNITY_2023_2_OR_NEWER
|
||||
: IAnalytic.IData
|
||||
#endif
|
||||
{
|
||||
public string ToolVersion;
|
||||
public string PackageId;
|
||||
public string Category;
|
||||
public bool UsedValidator;
|
||||
public string ValidatorResults;
|
||||
public string UploadFinishedReason;
|
||||
public double TimeTaken;
|
||||
public long PackageSize;
|
||||
public string Workflow;
|
||||
public string EndpointUrl;
|
||||
}
|
||||
|
||||
#if UNITY_2023_2_OR_NEWER
|
||||
[AnalyticInfo(eventName: EventName, vendorKey: VendorKey, version: VersionId, maxEventsPerHour: MaxEventsPerHour, maxNumberOfElements: MaxNumberOfElements)]
|
||||
private class AssetStoreToolsAnalytic : IAnalytic
|
||||
{
|
||||
private AnalyticsData _data;
|
||||
|
||||
public AssetStoreToolsAnalytic(AnalyticsData data)
|
||||
{
|
||||
_data = data;
|
||||
}
|
||||
|
||||
public bool TryGatherData(out IAnalytic.IData data, out Exception error)
|
||||
{
|
||||
error = null;
|
||||
data = _data;
|
||||
return data != null;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
public static void SendUploadingEvent(AnalyticsData data)
|
||||
{
|
||||
if (!EditorAnalytics.enabled)
|
||||
return;
|
||||
|
||||
if (!EnableAnalytics())
|
||||
return;
|
||||
|
||||
#if UNITY_2023_2_OR_NEWER
|
||||
var analytic = new AssetStoreToolsAnalytic(data);
|
||||
EditorAnalytics.SendAnalytic(analytic);
|
||||
#else
|
||||
EditorAnalytics.SendEventWithLimit(EventName, data, VersionId);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1095145789a64767a6add837eea19786
|
||||
timeCreated: 1658832954
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 115
|
||||
packageName: Asset Store Publishing Tools
|
||||
packageVersion: 11.4.3
|
||||
assetPath: Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/ASAnalytics.cs
|
||||
uploadId: 681981
|
||||
@@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using System.Threading;
|
||||
|
||||
namespace AssetStoreTools.Uploader.Data
|
||||
{
|
||||
internal class OngoingUpload : IDisposable
|
||||
{
|
||||
private CancellationTokenSource _cancellationTokenSource;
|
||||
|
||||
public string VersionId { get; }
|
||||
public string PackageName { get; }
|
||||
public float Progress { get; private set; }
|
||||
public CancellationToken CancellationToken => _cancellationTokenSource.Token;
|
||||
|
||||
public OngoingUpload(string versionId, string packageName)
|
||||
{
|
||||
VersionId = versionId;
|
||||
PackageName = packageName;
|
||||
Progress = 0f;
|
||||
_cancellationTokenSource = new CancellationTokenSource();
|
||||
}
|
||||
|
||||
public void Cancel()
|
||||
{
|
||||
_cancellationTokenSource?.Cancel();
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
_cancellationTokenSource?.Dispose();
|
||||
_cancellationTokenSource = null;
|
||||
}
|
||||
|
||||
public void UpdateProgress(float newProgress)
|
||||
{
|
||||
Progress = newProgress;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 601fdada4edc5b94eb83a21d1a01ed26
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 115
|
||||
packageName: Asset Store Publishing Tools
|
||||
packageVersion: 11.4.3
|
||||
assetPath: Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/OngoingUpload.cs
|
||||
uploadId: 681981
|
||||
@@ -0,0 +1,36 @@
|
||||
namespace AssetStoreTools.Uploader.Data
|
||||
{
|
||||
internal class PackageData
|
||||
{
|
||||
public string Id { get; }
|
||||
public string Name { get; }
|
||||
public string VersionId { get; }
|
||||
public string Status { get; }
|
||||
public string Category { get; }
|
||||
public bool IsCompleteProject { get; }
|
||||
public string LastUploadedPath { get; }
|
||||
public string LastUploadedGuid { get; }
|
||||
|
||||
public string LastDate { get; }
|
||||
public string LastSize { get; }
|
||||
|
||||
public PackageData(string id, string name, string versionId, string status, string category, bool isCompleteProject, string lastUploadedPath, string lastUploadedGuid, string lastDate, string lastSize)
|
||||
{
|
||||
Id = id;
|
||||
Name = name;
|
||||
VersionId = versionId;
|
||||
Status = status;
|
||||
Category = category;
|
||||
IsCompleteProject = isCompleteProject;
|
||||
LastUploadedPath = lastUploadedPath;
|
||||
LastUploadedGuid = lastUploadedGuid;
|
||||
LastDate = lastDate;
|
||||
LastSize = lastSize;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return $"{Id} {Name} {VersionId} {Status} {Category} {LastUploadedPath} {LastUploadedGuid} {IsCompleteProject} {LastDate} {LastSize}";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8157930875be4972a48c870a3d1e8ff1
|
||||
timeCreated: 1658919930
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 115
|
||||
packageName: Asset Store Publishing Tools
|
||||
packageVersion: 11.4.3
|
||||
assetPath: Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/PackageData.cs
|
||||
uploadId: 681981
|
||||
@@ -0,0 +1,46 @@
|
||||
using AssetStoreTools.Utility;
|
||||
using UnityEngine;
|
||||
|
||||
namespace AssetStoreTools.Uploader.Data
|
||||
{
|
||||
internal class PackageUploadResult
|
||||
{
|
||||
public enum UploadStatus
|
||||
{
|
||||
Default = 0,
|
||||
Success = 1,
|
||||
Fail = 2,
|
||||
Cancelled = 3,
|
||||
ResponseTimeout = 4
|
||||
}
|
||||
|
||||
public UploadStatus Status;
|
||||
public ASError Error;
|
||||
|
||||
private PackageUploadResult() { }
|
||||
|
||||
public static PackageUploadResult PackageUploadSuccess() => new PackageUploadResult() { Status = UploadStatus.Success };
|
||||
|
||||
public static PackageUploadResult PackageUploadFail(ASError e) => new PackageUploadResult() { Status = UploadStatus.Fail, Error = e };
|
||||
|
||||
public static PackageUploadResult PackageUploadCancelled() => new PackageUploadResult() { Status = UploadStatus.Cancelled };
|
||||
|
||||
public static PackageUploadResult PackageUploadResponseTimeout() => new PackageUploadResult() { Status = UploadStatus.ResponseTimeout };
|
||||
|
||||
public static Color GetColorByStatus(UploadStatus status)
|
||||
{
|
||||
switch (status)
|
||||
{
|
||||
default:
|
||||
case UploadStatus.Default:
|
||||
return new Color(0.13f, 0.59f, 0.95f);
|
||||
case UploadStatus.Success:
|
||||
return new Color(0f, 0.50f, 0.14f);
|
||||
case UploadStatus.Cancelled:
|
||||
return new Color(0.78f, 0.59f, 0f);
|
||||
case UploadStatus.Fail:
|
||||
return new Color(0.69f, 0.04f, 0.04f);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 188361b01a1450145a6fc2a7aa0a3a3c
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 115
|
||||
packageName: Asset Store Publishing Tools
|
||||
packageVersion: 11.4.3
|
||||
assetPath: Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/PackageUploadResult.cs
|
||||
uploadId: 681981
|
||||
Reference in New Issue
Block a user