Skip to content

Instantly share code, notes, and snippets.

@Syy9
Last active November 4, 2022 13:02
Show Gist options
  • Select an option

  • Save Syy9/3334e98c2a37ebd1591fd576aff19633 to your computer and use it in GitHub Desktop.

Select an option

Save Syy9/3334e98c2a37ebd1591fd576aff19633 to your computer and use it in GitHub Desktop.

Revisions

  1. Syy9 revised this gist Jul 28, 2018. 2 changed files with 0 additions and 0 deletions.
    File renamed without changes.
    File renamed without changes.
  2. Syy9 created this gist Jul 28, 2018.
    29 changes: 29 additions & 0 deletions CheckTool.cs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,29 @@
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEditor;
    using System.IO;
    using System.Text;

    public class CheckTool {

    [MenuItem("CheckTool/Check")]
    public static void Check()
    {
    var result = GetUnityTypes.GetEditorWindowTypes();
    StringBuilder sb = new StringBuilder();
    foreach (var type in result)
    {
    sb.AppendLine(type.ToString());
    }
    Write(sb.ToString());
    }

    private static void Write(string output)
    {
    StreamWriter writer = new StreamWriter("Assets/result.txt", false);
    writer.Flush();
    writer.Write(output);
    writer.Close();
    }
    }
    32 changes: 32 additions & 0 deletions GetUnityTypes.cs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,32 @@
    using System;
    using System.Collections.Generic;
    using System.Reflection;
    using UnityEditor;

    public static class GetUnityTypes
    {
    public static List<Type> GetEditorWindowTypes()
    {
    var result = GetSubClassTypes<EditorWindow>();
    return result;
    }

    public static List<Type> GetSubClassTypes<BaseType>()
    {
    var result = new List<Type>();
    Assembly[] assemblies = System.AppDomain.CurrentDomain.GetAssemblies();
    Type editorWindowType = typeof(BaseType);
    foreach (var assembly in assemblies)
    {
    Type[] types = assembly.GetTypes();
    foreach (var type in types)
    {
    if (type.IsSubclassOf(editorWindowType))
    {
    result.Add(type);
    }
    }
    }
    return result;
    }
    }
    112 changes: 112 additions & 0 deletions result.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,112 @@
    UnityEditor.Android.AndroidKeystoreWindow
    UnityEditor.Graphs.AnimatorControllerTool
    UnityEditor.Graphs.LayerSettingsWindow
    UnityEditor.Graphs.ParameterControllerEditor
    UnityEditor.Graphs.AnimationStateMachine.AddStateMachineBehaviourComponentWindow
    UnityEditor.Timeline.TimelineWindow
    UnityEditor.TestTools.TestRunner.TestRunnerWindow
    Unity.PackageManager.UI.Window
    TMPro.PackageResourceImporterWindow
    UnityEditor.PackageManager.UI.PackageManagerWindow
    TMPro.TMP_ProjectConversionUtility
    TMPro.TMP_SpriteAssetImporter
    TMPro.EditorUtilities.TMPro_FontAssetCreatorWindow
    UnityEditor.Experimental.UIElements.GraphView.SearchWindow
    UnityEditor.LicenseManagementWindow
    UnityEditor.Presets.PresetSelector
    UnityEditor.ProfilerIPWindow
    UnityEditor.ProfilerWindow
    UnityEditor.UISystemPreviewWindow
    UnityEditor.SketchUpImportDlg
    UnityEditor.GridPaintPaletteWindow
    UnityEditor.GridPaletteAddPopup
    UnityEditor.UIAutomation.TestEditorWindow
    UnityEditor.Experimental.UIElements.Debugger.PanelPickerWindow
    UnityEditor.Experimental.UIElements.Debugger.UIElementsDebugger
    UnityEditor.BuildPlayerWindow
    UnityEditor.ConsoleWindow
    UnityEditor.IconSelector
    UnityEditor.ObjectSelector
    UnityEditor.ProjectBrowser
    UnityEditor.ProjectTemplateWindow
    UnityEditor.RagdollBuilder
    UnityEditor.SceneHierarchySortingWindow
    UnityEditor.SceneHierarchyWindow
    UnityEditor.ScriptableWizard
    UnityEditorInternal.AddCurvesPopup
    UnityEditor.AnimationWindow
    UnityEditor.CurveEditorWindow
    UnityEditor.MinMaxCurveEditorWindow
    UnityEditor.AnnotationWindow
    UnityEditor.LayerVisibilityWindow
    UnityEditor.AssetStoreInstaBuyWindow
    UnityEditor.AssetStoreLoginWindow
    UnityEditor.AssetStoreWindow
    UnityEditor.AudioMixerWindow
    UnityEditor.Collaboration.CollabPublishDialog
    UnityEditor.Collaboration.CollabCannotPublishDialog
    UnityEditor.CollabHistoryWindow
    UnityEditor.CollabToolbarWindow
    UnityEditor.GameView
    UnityEditor.AboutWindow
    UnityEditor.AssetSaveDialog
    UnityEditor.BumpMapSettingsFixingWindow
    UnityEditor.ColorPicker
    UnityEditor.EditorUpdateWindow
    UnityEditor.FallbackEditorWindow
    UnityEditor.GradientPicker
    UnityEditor.PackageExport
    UnityEditor.PackageImport
    UnityEditor.PopupWindow
    UnityEditor.PopupWindowWithoutFocus
    UnityEditor.PragmaFixingWindow
    UnityEditor.SaveWindowLayout
    UnityEditor.DeleteWindowLayout
    UnityEditor.SnapSettings
    UnityEditor.TreeViewExamples.TreeViewTestWindow
    UnityEditor.GUIViewDebuggerWindow
    UnityEditor.InspectorWindow
    UnityEditor.PreviewWindow
    UnityEditor.AddShaderVariantWindow
    UnityEditor.AddComponentWindow
    UnityEditor.AdvancedDropdownWindow
    UnityEditor.LookDevView
    UnityEditor.ParticleSystemWindow
    UnityEngine.XR.WSA.HolographicEmulationWindow
    UnityEditor.FrameDebuggerWindow
    UnityEditor.PreferencesWindow
    UnityEditor.SearchableEditorWindow
    UnityEditor.LightingExplorerWindow
    UnityEditor.LightingWindow
    UnityEditor.NavMeshEditorWindow
    UnityEditor.OcclusionCullingWindow
    UnityEditor.PhysicsDebugWindow
    UnityEditor.TierSettingsWindow
    UnityEditor.SceneView
    UnityEditorInternal.SpriteEditorMenu
    UnityEditor.SpriteEditorWindow
    UnityEditor.Sprites.PackerWindow
    UnityEditor.SpriteUtilityWindow
    UnityEditor.TerrainSplatEditor
    UnityEditor.TerrainWizard
    UnityEditor.ImportRawHeightmap
    UnityEditor.ExportRawHeightmap
    UnityEditor.TreeWizard
    UnityEditor.DetailMeshWizard
    UnityEditor.DetailTextureWizard
    UnityEditor.PlaceTreeWizard
    UnityEditor.FlattenHeightmap
    TroubleshooterWindow
    UnityEditor.UndoWindow
    UnityEditor.Connect.UnityConnectConsentView
    UnityEditor.Connect.UnityConnectEditorWindow
    UnityEditor.MetroCertificatePasswordWindow
    UnityEditor.MetroCreateTestCertificateWindow
    UnityEditor.VersionControl.WindowChange
    UnityEditor.VersionControl.WindowCheckoutFailure
    UnityEditor.VersionControl.WindowPending
    UnityEditor.VersionControl.WindowResolve
    UnityEditor.VersionControl.WindowRevert
    UnityEditor.Web.WebViewEditorStaticWindow
    UnityEditor.Web.WebViewEditorWindow
    UnityEditor.Web.WebViewEditorWindowTabs