MarcusOtter / useful-unity

A collection of my helper methods and extensions for Unity3d development

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

useful-unity

A collection of my helper methods and extensions for Unity3d development

Use this script to import it (WIP)

using System;
using System.Linq;
using System.Threading.Tasks;
using UnityEditor;
using UnityEditor.PackageManager;
using UnityEngine;

public class ImportUsefulUnityEditor : Editor
{
	private const string url = "https://github.com/MarcusOtter/useful-unity.git";
	private const int timeoutMs = 5000;
	
	[MenuItem("Assets/Update MarcusOtter⧸useful-unity")]
	public static async void ShowWindow()
	{
		var request = Client.Add(url);

		if (request.Status == StatusCode.InProgress)
		{
			Debug.Log("Adding or updating MarcusOtter/useful-unity...");

			var elapsed = 0;
			while (request.Status == StatusCode.InProgress || elapsed > timeoutMs)
			{
				await Task.Delay(100);
				elapsed += 100;
				EditorUtility.DisplayProgressBar("Importing MarcusOtter/useful-unity", "Please wait...", elapsed / (float)timeoutMs);
			}
			EditorUtility.ClearProgressBar();
		}

		
		if (request.Status == StatusCode.Success)
		{
			Debug.Log("Successfully added or updated MarcusOtter/useful-unity");
		}
		else if (request.Status == StatusCode.Failure)
		{
			var errorMessages = request.Result?.errors?.Select(x => x?.message ?? "") ?? Array.Empty<string>();
			Debug.LogError("Failed to add or update MarcusOtter/useful-unity\n" + string.Join("\n", errorMessages));
		}
	}
}

About

A collection of my helper methods and extensions for Unity3d development

License:GNU Affero General Public License v3.0


Languages

Language:C# 100.0%