| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 | 
							- using System.Collections.Generic;
 
- using System.IO;
 
- using UnityEditor;
 
- using UnityEngine;
 
- namespace VEngine.Editor.Builds
 
- {
 
-     public enum ScriptPlayMode
 
-     {
 
-         Simulation,
 
-         Preload,
 
-         Incremental
 
-     }
 
-     [CreateAssetMenu(menuName = "Versions/Settings", fileName = "Settings", order = 0)]
 
-     public sealed class Settings : ScriptableObject
 
-     {
 
-         public List<string> excludeFiles =
 
-             new List<string>
 
-             {
 
-                 ".spriteatlas",
 
-                 ".giparams",
 
-                 "LightingData.asset"
 
-             };
 
-         public bool offlineMode;
 
-         public ScriptPlayMode scriptPlayMode = ScriptPlayMode.Simulation;
 
-         public static string PlatformBuildPath
 
-         {
 
-             get
 
-             {
 
-                 var dir = Utility.buildPath + $"/{GetPlatformName()}";
 
-                 if (!Directory.Exists(dir)) Directory.CreateDirectory(dir);
 
-                 return dir;
 
-             }
 
-         }
 
-         public static string UnityBuildPath
 
-         {
 
-             get
 
-             {
 
-                 var dir = Utility.BuildlesUnityFolder + $"/{GetPlatformName()}";
 
-                 if (!Directory.Exists(dir)) Directory.CreateDirectory(dir);
 
-                 return dir;
 
-             }
 
-         }
 
-         public static string BuildPlayerDataPath =>
 
-             string.Format("{0}/{1}", Application.streamingAssetsPath, Utility.buildPath);
 
-         public static PlayerSettings GetPlayerSettings()
 
-         {
 
-             return LoadAsset<PlayerSettings>("Assets/Resources/PlayerSettings.asset");
 
-         }
 
-         public static Settings GetDefaultSettings()
 
-         {
 
-             var guilds = AssetDatabase.FindAssets("t:Settings");
 
-             foreach (var guild in guilds)
 
-             {
 
-                 var assetPath = AssetDatabase.GUIDToAssetPath(guild);
 
-                 if (string.IsNullOrEmpty(assetPath)) continue;
 
-                 var settings = LoadAsset<Settings>(assetPath);
 
-                 if (settings == null) continue;
 
-                 return settings;
 
-             }
 
-             return LoadAsset<Settings>("Assets/Settings.asset");
 
-         }
 
-         public static Manifest GetManifest()
 
-         {
 
-             var manifest = CreateInstance<Manifest>();
 
-             manifest.name = nameof(Manifest);
 
-             var path = GetBuildPath(manifest.name);
 
-             if (!File.Exists(path)) return manifest;
 
-             manifest.Load(path);
 
-             return manifest;
 
-         }
 
-         public static List<ManifestBundle> GetBundlesInBuild(bool includeManifest)
 
-         {
 
-             var bundles = new List<ManifestBundle>();
 
-             var manifest = GetManifest();
 
-             bundles.AddRange(manifest.bundles);
 
-             if (includeManifest)
 
-             {
 
-                 var manifestName = $"{manifest.name}";
 
-                 var manifestVersionName = Manifest.GetVersionFile(manifestName);
 
-                 bundles.Add(new ManifestBundle
 
-                 {
 
-                     name = manifestVersionName,
 
-                     nameWithAppendHash = manifestVersionName
 
-                 });
 
-                 bundles.Add(new ManifestBundle
 
-                 {
 
-                     name = manifestName,
 
-                     nameWithAppendHash = manifestName
 
-                 });
 
-             }
 
-             return bundles;
 
-         }
 
-         public static string GetBuildPath(string file)
 
-         {
 
-             return $"{PlatformBuildPath}/{file}";
 
-         }
 
-         public static string GetPlatformName()
 
-         {
 
-             switch (EditorUserBuildSettings.activeBuildTarget)
 
-             {
 
-                 case BuildTarget.Android:
 
-                     return "Android";
 
-                 case BuildTarget.StandaloneOSX:
 
-                     return "OSX";
 
-                 case BuildTarget.StandaloneWindows:
 
-                 case BuildTarget.StandaloneWindows64:
 
-                     return "Windows";
 
-                 case BuildTarget.iOS:
 
-                     return "iOS";
 
-                 case BuildTarget.WebGL:
 
-                     return "WebGL";
 
-                 default:
 
-                     return Utility.unsupportedPlatform;
 
-             }
 
-         }
 
-         public static void PingWithSelected(Object target)
 
-         {
 
-             Selection.activeObject = target;
 
-             EditorGUIUtility.PingObject(target);
 
-         }
 
-         public static T LoadAsset<T>(string path) where T : ScriptableObject
 
-         {
 
-             var asset = AssetDatabase.LoadAssetAtPath<T>(path);
 
-             if (asset != null) return asset;
 
-             var dir = Path.GetDirectoryName(path);
 
-             if (!string.IsNullOrEmpty(dir) && !Directory.Exists(dir)) Directory.CreateDirectory(dir);
 
-             asset = CreateInstance<T>();
 
-             AssetDatabase.CreateAsset(asset, path);
 
-             return asset;
 
-         }
 
-         public static void SaveAsset(Object asset)
 
-         {
 
-             EditorUtility.SetDirty(asset);
 
-             AssetDatabase.SaveAssets();
 
-             AssetDatabase.Refresh();
 
-         }
 
-         public static IEnumerable<string> GetDependencies(string path)
 
-         {
 
-             var set = new HashSet<string>(AssetDatabase.GetDependencies(path, true));
 
-             set.Remove(path);
 
-             return set;
 
-         }
 
-     }
 
- }
 
 
  |