private static void StartInstall() { Debug.Log($"UnityPackagesInstaller StartInstall {Queue.Count}"); if (Queue.Count > 0) { UnityPackageData package = Queue.Dequeue(); if (!Directory.Exists(package.installedPackageLocation)) { Debug.Log($"UnityPackagesInstaller Trying to install {package.packageName} {_packageLocation + package.pathToPackage}"); AssetDatabase.ImportPackage(_packageLocation + package.pathToPackage, false); } else { Debug.Log($"{package.packageName} is exists in project"); } } else { Debug.Log("UnityPackagesInstaller Queue.Count < 0"); RemoveSubscribes(); OnAllInstalled?.Invoke(); OnAllInstalled = null; } }
public static void Install(List <UnityPackageData> all, string packageLocation) { Debug.Log($"UnityPackagesInstaller Install {Queue.Count} // package location {packageLocation}"); bool shouldStart = Queue.Count == 0; foreach (var toInstall in all) { if (!Queue.Contains(toInstall)) { Debug.Log($"UnityPackagesInstaller Added {toInstall} to queue"); Queue.Enqueue(toInstall); } } if (shouldStart) { Debug.Log($"UnityPackagesInstaller Install shouldStart == true"); _packageLocation = packageLocation; AddSubscribes(); StartInstall(); } else { Debug.Log($"UnityPackagesInstaller Install shouldStart == false"); OnAllInstalled?.Invoke(); OnAllInstalled = null; } }