public static string CreateTemplateIndex(string templateFilename, string path, string name = null) { var templatePath = $"{Utils.packageFolderName}/Templates/{templateFilename}.index.template"; if (!File.Exists(templatePath)) { return(null); } var dirPath = path; var templateContent = File.ReadAllText(templatePath); if (File.Exists(path)) { dirPath = Path.GetDirectoryName(path); if (Selection.assetGUIDs.Length > 1) { path = dirPath; } } var indexFileName = string.IsNullOrEmpty(name) ? Path.GetFileNameWithoutExtension(path) : name; var indexPath = AssetDatabase.GenerateUniqueAssetPath(Path.Combine(dirPath, $"{indexFileName}.index")).Replace("\\", "/"); Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, $"Creating {templateFilename} index at <a file=\"{indexPath}\">{indexPath}</a>"); SearchAnalytics.SendEvent(null, SearchAnalytics.GenericEventType.CreateIndexFromTemplate, templateFilename); File.WriteAllText(indexPath, templateContent); AssetDatabase.ImportAsset(indexPath); return(indexPath); }
public static void ShowWindow() { var window = GetWindow <ExpressionBuilder>(); if (window.m_WindowId == null) { window.m_WindowId = GUID.Generate().ToString(); } SearchAnalytics.SendEvent(window.m_WindowId, SearchAnalytics.GenericEventType.ExpressionBuilderOpenFromMenu); }
internal static void OpenWindow(SearchAnalytics.GenericEventType sourceEvt) { var window = CreateWindow <OnBoardingWindow>(); window.m_WindowId = GUID.Generate().ToString(); SearchAnalytics.SendEvent(window.m_WindowId, sourceEvt); var windowSize = new Vector2(600f, 420f); window.minSize = window.maxSize = windowSize; window.position = Utils.GetMainWindowCenteredPosition(windowSize); window.Show(); window.Focus(); }
internal static void CreateIndexProject() { var folderPath = AssetDatabase.GetAssetPath(Selection.activeObject); if (File.Exists(folderPath)) { folderPath = Path.GetDirectoryName(folderPath); } var expressionPath = AssetDatabase.GenerateUniqueAssetPath(Path.Combine(folderPath, "expression.qse")); SearchAnalytics.SendEvent(null, SearchAnalytics.GenericEventType.ExpressionBuilderCreateExpressionFromMenu); var newExpression = new SearchExpression(SearchFlags.Default); newExpression.Save(expressionPath); AssetDatabase.ImportAsset(expressionPath); Selection.activeObject = AssetDatabase.LoadMainAssetAtPath(expressionPath); }
private void Save() { SearchAnalytics.SendEvent(m_WindowId, SearchAnalytics.GenericEventType.ExpressionBuilderSave); if (String.IsNullOrEmpty(m_ExpressionPath)) { m_ExpressionPath = EditorUtility.SaveFilePanel("Save search expression...", saveExpressionDirectory, "expression", "qse").Replace("\\", "/"); } if (!String.IsNullOrEmpty(m_ExpressionPath)) { m_Expression.Save(m_ExpressionPath); UpdateDocumentInfo(); if (m_ExpressionPath.StartsWith(Application.dataPath.Replace("\\", "/"))) { saveExpressionDirectory = Path.GetDirectoryName(m_ExpressionPath); var relativepath = "Assets" + m_ExpressionPath.Substring(Application.dataPath.Replace("\\", "/").Length); AssetDatabase.ImportAsset(relativepath); } } }
public static void Open(string assetPath) { var existingBuilderWindows = Resources.FindObjectsOfTypeAll <ExpressionBuilder>(); foreach (var w in existingBuilderWindows) { if (w.expressionPath != null && w.expressionPath.Replace("\\", "/").Equals(assetPath.Replace("\\", "/"), StringComparison.OrdinalIgnoreCase)) { w.Focus(); w.Show(); return; } } var builder = CreateWindow <ExpressionBuilder>(); builder.m_WindowId = GUID.Generate().ToString(); SearchAnalytics.SendEvent(builder.m_WindowId, SearchAnalytics.GenericEventType.ExpressionBuilderOpenExpression); builder.Load(assetPath); builder.Show(); }
private void SendEvent(SearchAnalytics.GenericEventType category, string name = null, string message = null, string description = null) { SearchAnalytics.SendEvent(m_WindowId, category, name, message, description); }