private void DrawFoldout(AssetDirectory directory) { if (directory.FoldState = EditorGUILayout.Foldout(directory.FoldState, directory.Name)) { EditorGUI.indentLevel++; string textSpace = OutoFillSpace(); foreach (AssetData child in directory.childs) { if (!child.Visible) { continue; } _showCount++; if (child.IsDirectory()) { DrawFoldout(child as AssetDirectory); } else { if (GUILayout.Button(textSpace + child.Name, GUI.skin.label)) { EventHandler.Instance.HandleInvoke(EventCode.ShowDependencies, child); } } } EditorGUI.indentLevel--; } }
// Token: 0x0600107B RID: 4219 RVA: 0x0006C9D0 File Offset: 0x0006ADD0 public static void browse(AssetDirectory directory) { AssetBrowserWindow.currentDirectory = directory; if (AssetBrowserWindow.browsed != null) { AssetBrowserWindow.browsed(AssetBrowserWindow.currentDirectory); } }
// Token: 0x0600106A RID: 4202 RVA: 0x0006BF30 File Offset: 0x0006A330 public static void handleContextDropdownOpened(Sleek2HoverDropdown dropdown, AssetDirectory directory) { AssetBrowserContextCreateAssetHandler.directory = directory; AssetBrowserContextCreateAssetHandler.createButtons(dropdown, ModuleHook.coreTypes); foreach (Module module in ModuleHook.modules) { AssetBrowserContextCreateAssetHandler.createButtons(dropdown, module.types); } }
private void BuildDirectory(AssetDirectory directory) { string[] folders = AssetDatabase.GetSubFolders(directory.Path); foreach (string folder in folders) { AssetDirectory subDirectory = new AssetDirectory(folder.Substring(folder.LastIndexOf("/") + 1)); directory.AddChild(subDirectory); BuildDirectory(subDirectory); } BuildSubFiles(directory); }
// Token: 0x0600106F RID: 4207 RVA: 0x0006C07C File Offset: 0x0006A47C public AssetBrowserDirectoryButton(AssetDirectory newDirectory) { this.directory = newDirectory; Sleek2Label sleek2Label = new Sleek2Label(); sleek2Label.transform.reset(); sleek2Label.textComponent.text = "/" + this.directory.name; sleek2Label.textComponent.color = Sleek2Config.darkTextColor; this.addElement(sleek2Label); this.context = base.gameObject.AddComponent <ContextDropdownButton>(); this.context.element = this; this.context.opened += this.handleContextOpened; }
public static void WriteAssetDirectory() { AssetDirectory directory = new AssetDirectory(); directory.LevelFiles = GetLevelList(); string json = JsonConvert.SerializeObject(directory); using (FileStream fs = File.Open(FilenameToLevelPath(AssetDirectory.ThisFile), FileMode.Create)) { StreamWriter sw = new StreamWriter(fs); sw.Write(json); sw.Close(); } }
public static string AssetPathToSystemPath(string assetPath) { const string AssetDirectory = "Assets"; var rootDir = Path.GetDirectoryName(Application.dataPath); if (!assetPath.ToLowerInvariant().StartsWith(AssetDirectory.ToLowerInvariant())) { assetPath = CombinePath(AssetDirectory, assetPath); } var finalPath = CombinePath(rootDir, assetPath); #if UNITY_EDITOR_WIN finalPath = finalPath.Replace('/', '\\'); #endif return(finalPath); }
public static bool Initialize(Window parent) { LevelPath = AttemptToFindLevelDirectory(); if (null == LevelPath) { FileChooserDialog fcd = new FileChooserDialog("Provide path to TD directory", null, FileChooserAction.SelectFolder); fcd.AddButton(Stock.Cancel, ResponseType.Cancel); fcd.AddButton(Stock.Open, ResponseType.Ok); fcd.DefaultResponse = ResponseType.Ok; fcd.SelectMultiple = false; ResponseType response = (ResponseType)fcd.Run(); if (response == ResponseType.Ok) { LevelPath = fcd.Filename; } else { LevelPath = null; } fcd.Destroy(); } if (LevelPath.EndsWith("Levels")) { AssetLocations = ReadObjectFromFile <AssetDirectory>(FilenameToLevelPath(AssetDirectory.ThisFile)); if (null == AssetLocations) { AssetLocations = new AssetDirectory(); AssetLocations.LevelFiles = GetLevelList(); WriteAssetDirectory(); } SolutionPath = Directory.GetParent(LevelPath).Parent.Parent.Parent.FullName + Path.DirectorySeparatorChar + "Solutions"; if (!Directory.Exists(SolutionPath)) { Directory.CreateDirectory(SolutionPath); } return(true); } else { return(false); } }
// Token: 0x0600107F RID: 4223 RVA: 0x0006CA44 File Offset: 0x0006AE44 protected void handleBrowsed(AssetDirectory directory) { this.pathPanel.clearElements(); this.itemsPanel.clearElements(); this.itemsPanel.transform.offsetMin = new Vector2(0f, 0f); this.itemsPanel.transform.offsetMax = new Vector2(0f, 0f); if (directory == null) { return; } for (int i = 0; i < directory.assets.Count; i++) { AssetBrowserAssetButton assetBrowserAssetButton = new AssetBrowserAssetButton(directory.assets[i]); assetBrowserAssetButton.clicked += this.handleAssetButtonClicked; this.itemsPanel.addElement(assetBrowserAssetButton); } for (int j = 0; j < directory.directories.Count; j++) { AssetBrowserDirectoryButton assetBrowserDirectoryButton = new AssetBrowserDirectoryButton(directory.directories[j]); assetBrowserDirectoryButton.clicked += this.handleDirectoryButtonClicked; this.itemsPanel.addElement(assetBrowserDirectoryButton); } do { AssetBrowserDirectoryButton assetBrowserDirectoryButton2 = new AssetBrowserDirectoryButton(directory); assetBrowserDirectoryButton2.transform.anchorMin = new Vector2(0f, 0f); assetBrowserDirectoryButton2.transform.anchorMax = new Vector2(0f, 1f); assetBrowserDirectoryButton2.transform.pivot = new Vector2(0f, 1f); assetBrowserDirectoryButton2.transform.sizeDelta = new Vector2(150f, 0f); assetBrowserDirectoryButton2.clicked += this.handleDirectoryButtonClicked; this.pathPanel.addElement(assetBrowserDirectoryButton2, 0); if (directory.parent != null) { Sleek2Label sleek2Label = new Sleek2Label(); sleek2Label.transform.anchorMin = new Vector2(0f, 0f); sleek2Label.transform.anchorMax = new Vector2(0f, 1f); sleek2Label.transform.pivot = new Vector2(0f, 1f); sleek2Label.transform.sizeDelta = new Vector2(30f, 0f); sleek2Label.textComponent.text = ">"; this.pathPanel.addElement(sleek2Label, 0); } }while ((directory = directory.parent) != null); }
public void AddAssetDirectory <T>(AssetDirectory <T> directory) where T : ScriptObject { BeforeLoad(directory.Clear); m_catalogLoadActions.Add((onComplete) => { var cats = ScriptObjectDirectory.Instance.GetAllCatalogs <T>(); if (cats != null) { foreach (var cat in cats) { directory.AddCatalog(cat); } } onComplete(); }); }
public void AddCatalogLoad <T>(string catalogName, AssetDirectory <T> directory, bool?useDevCatalog = null) where T : ScriptObject { if (string.IsNullOrEmpty(catalogName)) { return; } BeforeLoad(directory.Clear); m_catalogLoadActions.Add((onComplete) => { LoadCatalog <T>(SpaceName, catalogName, (cat) => { directory.AddCatalog(cat); onComplete(); }, useDevCatalog); }); }
private void BuildSubFiles(AssetDirectory directory) { DirectoryInfo direction = new DirectoryInfo(directory.Path); FileInfo[] files = direction.GetFiles(); for (int i = 0; i < files.Length; i++) { if (files[i].Name.EndsWith(".meta")) { continue; } AssetFile file = new AssetFile(files[i].Name); directory.AddChild(file); _assetDatas.AllAssetFiles.Add(file); string[] test = AssetDatabase.GetDependencies(file.Path, false); _dependenciesDic.Add(file.Path, test); EditorUtility.DisplayProgressBar("Loading Asset Datas", file.Name, (float)(_progressValue++) / _progressTotal); } }
protected string GenerateCommandLineCommands(string ManifestFile, string currentAbi, string currentResourceOutputFile) { // For creating Resource.Designer.cs: // Running command: C:\Program Files (x86)\Android\android-sdk-windows\platform-tools\aapt // "package" // "-M" "C:\Users\Jonathan\AppData\Local\Temp\ryob4gaw.way\AndroidManifest.xml" // "-J" "C:\Users\Jonathan\AppData\Local\Temp\ryob4gaw.way" // "-F" "C:\Users\Jonathan\AppData\Local\Temp\ryob4gaw.way\resources.apk" // "-S" "c:\users\jonathan\documents\visual studio 2010\Projects\MonoAndroidApplication4\MonoAndroidApplication4\obj\Debug\res" // "-I" "C:\Program Files (x86)\Android\android-sdk-windows\platforms\android-8\android.jar" // "--max-res-version" "10" // For packaging: // Running command: C:\Program Files (x86)\Android\android-sdk-windows\platform-tools\aapt // "package" // "-f" // "-m" // "-M" "AndroidManifest.xml" // "-J" "src" // "--custom-package" "androidmsbuildtest.androidmsbuildtest" // "-F" "bin\packaged_resources" // "-S" "C:\Users\Jonathan\Documents\Visual Studio 2010\Projects\AndroidMSBuildTest\AndroidMSBuildTest\obj\Debug\res" // "-I" "C:\Program Files (x86)\Android\android-sdk-windows\platforms\android-8\android.jar" // "--extra-packages" "com.facebook.android:my.another.library" var cmd = new CommandLineBuilder(); cmd.AppendSwitch("package"); if (MonoAndroidHelper.LogInternalExceptions) { cmd.AppendSwitch("-v"); } if (NonConstantId) { cmd.AppendSwitch("--non-constant-id"); } cmd.AppendSwitch("-f"); cmd.AppendSwitch("-m"); string manifestFile; string manifestDir = Path.Combine(Path.GetDirectoryName(ManifestFile), currentAbi != null ? currentAbi : "manifest"); Directory.CreateDirectory(manifestDir); manifestFile = Path.Combine(manifestDir, Path.GetFileName(ManifestFile)); ManifestDocument manifest = new ManifestDocument(ManifestFile, this.Log); if (currentAbi != null) { manifest.SetAbi(currentAbi); } manifest.ApplicationName = ApplicationName; manifest.Save(manifestFile); cmd.AppendSwitchIfNotNull("-M ", manifestFile); Directory.CreateDirectory(JavaDesignerOutputDirectory); cmd.AppendSwitchIfNotNull("-J ", JavaDesignerOutputDirectory); if (PackageName != null) { cmd.AppendSwitchIfNotNull("--custom-package ", PackageName.ToLowerInvariant()); } if (!string.IsNullOrEmpty(currentResourceOutputFile)) { cmd.AppendSwitchIfNotNull("-F ", currentResourceOutputFile + ".bk"); } // The order of -S arguments is *important*, always make sure this one comes FIRST cmd.AppendSwitchIfNotNull("-S ", ResourceDirectory.TrimEnd('\\')); if (AdditionalResourceDirectories != null) { foreach (var resdir in AdditionalResourceDirectories) { cmd.AppendSwitchIfNotNull("-S ", resdir.ItemSpec.TrimEnd('\\')); } } if (AdditionalAndroidResourcePaths != null) { foreach (var dir in AdditionalAndroidResourcePaths) { cmd.AppendSwitchIfNotNull("-S ", Path.Combine(dir.ItemSpec.TrimEnd(System.IO.Path.DirectorySeparatorChar), "res")); } } if (LibraryProjectJars != null) { foreach (var jar in LibraryProjectJars) { cmd.AppendSwitchIfNotNull("-j ", jar); } } cmd.AppendSwitchIfNotNull("-I ", JavaPlatformJarPath); // Add asset directory if it exists if (!string.IsNullOrWhiteSpace(AssetDirectory) && Directory.Exists(AssetDirectory)) { cmd.AppendSwitchIfNotNull("-A ", AssetDirectory.TrimEnd('\\')); } if (!string.IsNullOrWhiteSpace(UncompressedFileExtensions)) { foreach (var ext in UncompressedFileExtensions.Split(new char[] { ';', ',' }, StringSplitOptions.RemoveEmptyEntries)) { cmd.AppendSwitchIfNotNull("-0 ", ext); } } if (!string.IsNullOrEmpty(ExtraPackages)) { cmd.AppendSwitchIfNotNull("--extra-packages ", ExtraPackages); } // TODO: handle resource names if (ExplicitCrunch) { cmd.AppendSwitch("--no-crunch"); } cmd.AppendSwitch("--auto-add-overlay"); var extraArgsExpanded = ExpandString(ExtraArgs); if (extraArgsExpanded != ExtraArgs) { Log.LogDebugMessage(" ExtraArgs expanded: {0}", extraArgsExpanded); } if (!string.IsNullOrWhiteSpace(extraArgsExpanded)) { cmd.AppendSwitch(extraArgsExpanded); } if (!AndroidUseLatestPlatformSdk) { cmd.AppendSwitchIfNotNull("--max-res-version ", ApiLevel); } return(cmd.ToString()); }
protected string GenerateCommandLineCommands(string ManifestFile, string currentAbi, string currentResourceOutputFile) { // For creating Resource.designer.cs: // Running command: C:\Program Files (x86)\Android\android-sdk-windows\platform-tools\aapt // "package" // "-M" "C:\Users\Jonathan\AppData\Local\Temp\ryob4gaw.way\AndroidManifest.xml" // "-J" "C:\Users\Jonathan\AppData\Local\Temp\ryob4gaw.way" // "-F" "C:\Users\Jonathan\AppData\Local\Temp\ryob4gaw.way\resources.apk" // "-S" "c:\users\jonathan\documents\visual studio 2010\Projects\MonoAndroidApplication4\MonoAndroidApplication4\obj\Debug\res" // "-I" "C:\Program Files (x86)\Android\android-sdk-windows\platforms\android-8\android.jar" // "--max-res-version" "10" // For packaging: // Running command: C:\Program Files (x86)\Android\android-sdk-windows\platform-tools\aapt // "package" // "-f" // "-m" // "-M" "AndroidManifest.xml" // "-J" "src" // "--custom-package" "androidmsbuildtest.androidmsbuildtest" // "-F" "bin\packaged_resources" // "-S" "C:\Users\Jonathan\Documents\Visual Studio 2010\Projects\AndroidMSBuildTest\AndroidMSBuildTest\obj\Debug\res" // "-I" "C:\Program Files (x86)\Android\android-sdk-windows\platforms\android-8\android.jar" // "--extra-packages" "com.facebook.android:my.another.library" var cmd = new CommandLineBuilder(); cmd.AppendSwitch("package"); if (MonoAndroidHelper.LogInternalExceptions) { cmd.AppendSwitch("-v"); } if (NonConstantId) { cmd.AppendSwitch("--non-constant-id"); } cmd.AppendSwitch("-f"); cmd.AppendSwitch("-m"); string manifestFile; string manifestDir = Path.Combine(Path.GetDirectoryName(ManifestFile), currentAbi != null ? currentAbi : "manifest"); Directory.CreateDirectory(manifestDir); manifestFile = Path.Combine(manifestDir, Path.GetFileName(ManifestFile)); ManifestDocument manifest = new ManifestDocument(ManifestFile); manifest.SdkVersion = AndroidSdkPlatform; if (!string.IsNullOrEmpty(VersionCodePattern)) { try { manifest.CalculateVersionCode(currentAbi, VersionCodePattern, VersionCodeProperties); } catch (ArgumentOutOfRangeException ex) { LogCodedError("XA0003", ManifestFile, 0, ex.Message); return(string.Empty); } } if (currentAbi != null && string.IsNullOrEmpty(VersionCodePattern)) { manifest.SetAbi(currentAbi); } if (!manifest.ValidateVersionCode(out string error, out string errorCode)) { LogCodedError(errorCode, ManifestFile, 0, error); return(string.Empty); } manifest.ApplicationName = ApplicationName; manifest.Save(LogCodedWarning, manifestFile); cmd.AppendSwitchIfNotNull("-M ", manifestFile); var designerDirectory = Path.IsPathRooted(JavaDesignerOutputDirectory) ? JavaDesignerOutputDirectory : Path.Combine(WorkingDirectory, JavaDesignerOutputDirectory); Directory.CreateDirectory(designerDirectory); cmd.AppendSwitchIfNotNull("-J ", JavaDesignerOutputDirectory); if (PackageName != null) { cmd.AppendSwitchIfNotNull("--custom-package ", PackageName.ToLowerInvariant()); } if (!string.IsNullOrEmpty(currentResourceOutputFile)) { cmd.AppendSwitchIfNotNull("-F ", currentResourceOutputFile + ".bk"); } // The order of -S arguments is *important*, always make sure this one comes FIRST cmd.AppendSwitchIfNotNull("-S ", resourceDirectory.TrimEnd('\\')); if (AdditionalResourceDirectories != null) { foreach (var dir in AdditionalResourceDirectories) { var resdir = dir.ItemSpec.TrimEnd('\\'); if (Directory.Exists(resdir)) { cmd.AppendSwitchIfNotNull("-S ", resdir); } } } if (AdditionalAndroidResourcePaths != null) { foreach (var dir in AdditionalAndroidResourcePaths) { var resdir = Path.Combine(dir.ItemSpec, "res"); if (Directory.Exists(resdir)) { cmd.AppendSwitchIfNotNull("-S ", resdir); } } } if (LibraryProjectJars != null) { foreach (var jar in LibraryProjectJars) { cmd.AppendSwitchIfNotNull("-j ", jar); } } cmd.AppendSwitchIfNotNull("-I ", JavaPlatformJarPath); // Add asset directory if it exists if (!string.IsNullOrWhiteSpace(AssetDirectory)) { var assetDir = AssetDirectory.TrimEnd('\\'); if (!Path.IsPathRooted(assetDir)) { assetDir = Path.Combine(WorkingDirectory, assetDir); } if (!string.IsNullOrWhiteSpace(assetDir) && Directory.Exists(assetDir)) { cmd.AppendSwitchIfNotNull("-A ", assetDir); } } if (!string.IsNullOrWhiteSpace(UncompressedFileExtensions)) { foreach (var ext in UncompressedFileExtensions.Split(new char[] { ';', ',' }, StringSplitOptions.RemoveEmptyEntries)) { cmd.AppendSwitchIfNotNull("-0 ", ext.StartsWith(".", StringComparison.OrdinalIgnoreCase) ? ext : $".{ext}"); } } if (!string.IsNullOrEmpty(ExtraPackages)) { cmd.AppendSwitchIfNotNull("--extra-packages ", ExtraPackages); } cmd.AppendSwitch("--auto-add-overlay"); if (!string.IsNullOrEmpty(ResourceSymbolsTextFileDirectory)) { cmd.AppendSwitchIfNotNull("--output-text-symbols ", ResourceSymbolsTextFileDirectory); } var extraArgsExpanded = ExpandString(ExtraArgs); if (extraArgsExpanded != ExtraArgs) { LogDebugMessage(" ExtraArgs expanded: {0}", extraArgsExpanded); } if (!string.IsNullOrWhiteSpace(extraArgsExpanded)) { cmd.AppendSwitch(extraArgsExpanded); } if (!AndroidUseLatestPlatformSdk) { cmd.AppendSwitchIfNotNull("--max-res-version ", ApiLevel); } return(cmd.ToString()); }
public void Dispose() { AllAssetFiles.Clear(); Root.Dispose(); Root = null; }
public AssetDatas() { AllAssetFiles = new List <AssetFile>(); Root = new AssetDirectory("Assets"); }