├── .gitattributes ├── .gitignore ├── Assets ├── HierarchyHelper.meta ├── HierarchyHelper │ ├── Editor.meta │ └── Editor │ │ ├── HelperInfoAttribute.cs │ │ ├── HelperInfoAttribute.cs.meta │ │ ├── HelperInfoSetting.cs │ │ ├── HelperInfoSetting.cs.meta │ │ ├── HierarchyHelperManager.cs │ │ ├── HierarchyHelperManager.cs.meta │ │ ├── HierarchyHelperSettingWindow.cs │ │ ├── HierarchyHelperSettingWindow.cs.meta │ │ ├── HierarchyHelperTools.cs │ │ └── HierarchyHelperTools.cs.meta ├── HierarchyHelperExamples.meta ├── HierarchyHelperExamples │ ├── Editor.meta │ └── Editor │ │ ├── MonoStaticTest1.cs │ │ ├── MonoStaticTest1.cs.meta │ │ ├── NonMonoTest1.cs │ │ ├── NonMonoTest1.cs.meta │ │ ├── NonMonoTest2.cs │ │ ├── NonMonoTest2.cs.meta │ │ ├── NonMonoTestSub1.cs │ │ └── NonMonoTestSub1.cs.meta ├── HierarchyHelperImplementations.meta └── HierarchyHelperImplementations │ ├── Editor.meta │ └── Editor │ ├── GameObjectControlling.cs │ ├── GameObjectControlling.cs.meta │ ├── LayerControlling.cs │ ├── LayerControlling.cs.meta │ ├── MissingScriptChecking.cs │ └── MissingScriptChecking.cs.meta ├── LICENSE ├── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshAreas.asset ├── NavMeshLayers.asset ├── NavMeshLayers.asset.meta ├── NetworkManager.asset ├── Physics2DSettings.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset └── UnityConnectSettings.asset └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /[Ll]ibrary/ 2 | /[Tt]emp/ 3 | /[Oo]bj/ 4 | /[Bb]uild/ 5 | /[Bb]uilds/ 6 | /Assets/AssetStoreTools* 7 | 8 | # Autogenerated VS/MD solution and project files 9 | ExportedObj/ 10 | *.csproj 11 | *.unityproj 12 | *.sln 13 | *.suo 14 | *.tmp 15 | *.user 16 | *.userprefs 17 | *.pidb 18 | *.booproj 19 | *.svd 20 | 21 | 22 | # Unity3D generated meta files 23 | *.pidb.meta 24 | 25 | # Unity3D Generated File On Crash Reports 26 | sysinfo.txt 27 | 28 | # Builds 29 | *.apk 30 | *.unitypackage 31 | -------------------------------------------------------------------------------- /Assets/HierarchyHelper.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4c7c25968da865e4b93317441019782a 3 | folderAsset: yes 4 | timeCreated: 1493994824 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/HierarchyHelper/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9a6c8bda66e47d74fa549e65c51048c2 3 | folderAsset: yes 4 | timeCreated: 1493963092 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/HierarchyHelper/Editor/HelperInfoAttribute.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | 4 | namespace HierarchyHelper 5 | { 6 | public class HelperInfoAttribute : Attribute 7 | { 8 | public HelperInfoAttribute( string category, int priority = 0 ) 9 | { 10 | this.Category = category; 11 | this.Priority = priority; 12 | } 13 | 14 | public HelperInfoAttribute( Type type, string category, int priority = 0 ) 15 | { 16 | this.HelperType = type; 17 | this.Category = category; 18 | this.Priority = priority; 19 | } 20 | 21 | public Type HelperType { get; } 22 | public string Category { get; } 23 | public int Priority { get; } 24 | } 25 | } -------------------------------------------------------------------------------- /Assets/HierarchyHelper/Editor/HelperInfoAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b50682f1900f35f43956d0b80582b290 3 | timeCreated: 1493980502 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/HierarchyHelper/Editor/HelperInfoSetting.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System; 3 | 4 | namespace HierarchyHelper 5 | { 6 | public class HelperInfoSetting : Attribute 7 | { 8 | public HelperInfoSetting( string category, int priority = 0 ) 9 | { 10 | this.Category = category; 11 | this.Priority = priority; 12 | } 13 | 14 | public HelperInfoSetting( Type type, string category, int priority = 0 ) 15 | { 16 | this.HelperType = type; 17 | this.Category = category; 18 | this.Priority = priority; 19 | } 20 | 21 | public Type HelperType { get; } 22 | public string Category { get; } 23 | public int Priority { get; } 24 | } 25 | } -------------------------------------------------------------------------------- /Assets/HierarchyHelper/Editor/HelperInfoSetting.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aef4dc91ccfd1114189c43d91939f1da 3 | timeCreated: 1493980502 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/HierarchyHelper/Editor/HierarchyHelperManager.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using System; 5 | using System.Linq; 6 | using System.Reflection; 7 | using UnityEditor.Compilation; 8 | #if UNITY_EDITOR 9 | using UnityEditor; 10 | #endif 11 | namespace HierarchyHelper 12 | { 13 | #if UNITY_EDITOR 14 | [InitializeOnLoad] 15 | #endif 16 | public static class HierarchyHelperManager 17 | { 18 | #if UNITY_EDITOR 19 | const string HELPER_IS_SHOWING = "HierarchyHelperSettingWindow.helper.showing"; 20 | const string HELPER_PRESERVED_WIDTH = "HierarchyHelperSettingWindow.helper.preservedWidth"; 21 | const string HELPER_SPACING = "HierarchyHelperSettingWindow.helper.spacing"; 22 | 23 | private static Dictionary _helperInfoMap = null; 24 | private static SortedList> _priorityMap = null; 25 | 26 | public static Func CalculateOffset = null; 27 | 28 | public static SortedList Categroies { get; private set; } 29 | public static bool Showing 30 | { 31 | get 32 | { 33 | return EditorPrefs.GetBool( HELPER_IS_SHOWING, false ); 34 | } 35 | set 36 | { 37 | EditorPrefs.SetBool( HELPER_IS_SHOWING, value ); 38 | if( value ) 39 | EditorApplication.hierarchyWindowItemOnGUI += OnHierarchyGUI; 40 | else 41 | EditorApplication.hierarchyWindowItemOnGUI -= OnHierarchyGUI; 42 | } 43 | } 44 | 45 | public static int Spacing 46 | { 47 | get 48 | { 49 | return EditorPrefs.GetInt( HELPER_SPACING, 5 ); 50 | } 51 | set 52 | { 53 | EditorPrefs.SetInt( HELPER_SPACING, value ); 54 | } 55 | } 56 | 57 | public static int PreservedWidth 58 | { 59 | get 60 | { 61 | return EditorPrefs.GetInt( HELPER_PRESERVED_WIDTH, 200 ); 62 | } 63 | set 64 | { 65 | EditorPrefs.SetInt( HELPER_PRESERVED_WIDTH, value ); 66 | } 67 | } 68 | 69 | static HierarchyHelperManager() 70 | { 71 | _priorityMap = new SortedList>(); 72 | _helperInfoMap = new Dictionary(); 73 | Categroies = new SortedList(); 74 | HashSet _cache = new HashSet(); 75 | 76 | var methods = FindMethodsWithAttribute(); 77 | foreach( MethodInfo m in methods ) 78 | { 79 | object[] objs = m.GetCustomAttributes( typeof( HelperInfoAttribute ), true ); 80 | string key = m.DeclaringType.ToString() + "." + m.Name; 81 | if( !_cache.Contains( key ) ) 82 | { 83 | _cache.Add( key ); 84 | 85 | foreach( object obj in objs ) 86 | { 87 | HelperInfoAttribute attr = obj as HelperInfoAttribute; 88 | if( !_priorityMap.ContainsKey( attr.Priority ) ) 89 | _priorityMap[attr.Priority] = new List(); 90 | _priorityMap[attr.Priority].Add( m ); 91 | 92 | _helperInfoMap[m] = attr; 93 | 94 | if( !Categroies.ContainsKey( attr.Category ) ) 95 | Categroies[attr.Category] = 0; 96 | Categroies[attr.Category]++; 97 | } 98 | } 99 | } 100 | 101 | if( _helperInfoMap.Count > 0 && Showing ) 102 | { 103 | EditorApplication.hierarchyWindowItemOnGUI += OnHierarchyGUI; 104 | } 105 | } 106 | 107 | private static void OnHierarchyGUI( int instanceID, Rect r ) 108 | { 109 | if( !Showing ) 110 | return; 111 | 112 | GameObject go = (GameObject)UnityEditor.EditorUtility.InstanceIDToObject( instanceID ); 113 | 114 | if( go == null ) 115 | return; 116 | 117 | _controlRect = r; 118 | if( _controlRect.x <= PreservedWidth ) 119 | { 120 | float diff = PreservedWidth - _controlRect.x; 121 | _controlRect.x = PreservedWidth; 122 | _controlRect.width -= diff; 123 | } 124 | 125 | if( CalculateOffset != null ) 126 | _controlRect.width -= CalculateOffset( go ); 127 | 128 | _controlRect.width -= Spacing; 129 | 130 | foreach( int p in _priorityMap.Keys ) 131 | { 132 | foreach( MethodInfo m in _priorityMap[p] ) 133 | { 134 | if( GetShowing( _helperInfoMap[m].Category ) ) 135 | { 136 | if( _helperInfoMap[m].HelperType != null ) 137 | { 138 | object comp = go.GetComponent( _helperInfoMap[m].HelperType ); 139 | if( !comp.Equals( null ) ) 140 | { 141 | m.Invoke( null, new object[]{ comp } ); 142 | } 143 | } 144 | else 145 | { 146 | m.Invoke( null, new object[]{ go } ); 147 | } 148 | } 149 | } 150 | } 151 | } 152 | 153 | public static IEnumerable FindMethodsWithAttribute() where T:Attribute 154 | { 155 | var editorAssemblies = CompilationPipeline.GetAssemblies(AssembliesType.Editor) 156 | .Select(a => System.Reflection.Assembly.LoadFile(a.outputPath)); 157 | 158 | List result = new List(); 159 | foreach (var assembly in editorAssemblies) 160 | { 161 | result.AddRange(assembly.GetTypes() 162 | .SelectMany(t => t.GetMethods(BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic)) 163 | .Where(m => m.IsDefined(typeof(T), false))); 164 | } 165 | 166 | return result; 167 | } 168 | 169 | public static bool GetShowing( string categroy ) 170 | { 171 | return EditorPrefs.GetBool( HELPER_IS_SHOWING + categroy, true ); 172 | } 173 | 174 | public static void SetShowing( string categroy, bool showing ) 175 | { 176 | EditorPrefs.SetBool( HELPER_IS_SHOWING + categroy, showing ); 177 | } 178 | 179 | #pragma warning disable 0649 180 | private static Rect _controlRect; 181 | #pragma warning restore 0649 182 | public static Rect GetControlRect( float width ) 183 | { 184 | if( _controlRect.width >= width ) 185 | { 186 | _controlRect.width -= width; 187 | } 188 | else 189 | { 190 | width = _controlRect.width; 191 | _controlRect.width = 0; 192 | } 193 | Rect rect = new Rect( _controlRect.x + _controlRect.width, _controlRect.y, width, _controlRect.height ); 194 | _controlRect.width -= Spacing; 195 | 196 | return rect; 197 | } 198 | 199 | #endif 200 | } 201 | } 202 | -------------------------------------------------------------------------------- /Assets/HierarchyHelper/Editor/HierarchyHelperManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e9aea70db41503438b32920f7993002 3 | timeCreated: 1494004055 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/HierarchyHelper/Editor/HierarchyHelperSettingWindow.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using UnityEditor; 5 | using System.Reflection; 6 | using System.Linq; 7 | 8 | namespace HierarchyHelper 9 | { 10 | public class HierarchyHelperSettingWindow : EditorWindow 11 | { 12 | const string MENU_PATH_SETTING_WINDOW = "Tools/HierarchyHelper/Open Setting Window"; 13 | const string MENU_PATH_ENABLED = "Tools/HierarchyHelper/Enabled"; 14 | 15 | private static Dictionary _methodMap = null; 16 | private static Dictionary> _priorityMap = null; 17 | 18 | [MenuItem(MENU_PATH_SETTING_WINDOW, false, 1)] 19 | public static void Create() 20 | { 21 | HierarchyHelperSettingWindow t = GetWindow( "Hierarchy Helper" ); 22 | t.Show(); 23 | } 24 | 25 | void OnEnable() 26 | { 27 | _priorityMap = new Dictionary>(); 28 | _methodMap = new Dictionary(); 29 | 30 | var methods = HierarchyHelperManager.FindMethodsWithAttribute(); 31 | foreach( MethodInfo m in methods ) 32 | { 33 | object[] objs = m.GetCustomAttributes( typeof( HelperInfoSetting ), true ); 34 | foreach( object obj in objs ) 35 | { 36 | HelperInfoSetting attr = obj as HelperInfoSetting; 37 | if( !_priorityMap.ContainsKey( attr.Category ) ) 38 | _priorityMap[attr.Category] = new List(); 39 | _priorityMap[attr.Category].Add( attr ); 40 | 41 | _methodMap[attr] = m; 42 | } 43 | } 44 | 45 | foreach( List list in _priorityMap.Values ) 46 | { 47 | list.Sort( delegate(HelperInfoSetting x, HelperInfoSetting y) { 48 | return x.Priority.CompareTo( y.Priority ); 49 | }); 50 | } 51 | } 52 | 53 | Vector2 _scrollPosition = Vector2.zero; 54 | void OnGUI() 55 | { 56 | GUI.changed = false; 57 | 58 | EditorGUILayout.Space(); 59 | var showing = EditorGUILayout.ToggleLeft( "Enable Helper System", HierarchyHelperManager.Showing ); 60 | if (showing != HierarchyHelperManager.Showing) 61 | HierarchyHelperManager.Showing = showing; 62 | 63 | EditorGUI.BeginDisabledGroup( !HierarchyHelperManager.Showing ); 64 | { 65 | HierarchyHelperManager.PreservedWidth = EditorGUILayout.IntSlider( "Preserved Width", HierarchyHelperManager.PreservedWidth, 100, 500 ); 66 | HierarchyHelperManager.Spacing = EditorGUILayout.IntSlider( "Spacing", HierarchyHelperManager.Spacing, 0, 10 ); 67 | EditorGUILayout.Space(); 68 | 69 | EditorGUILayout.BeginHorizontal(); 70 | { 71 | GUILayout.Label( "No.", GUILayout.Width( 40f ) ); 72 | GUILayout.Label( "Count", GUILayout.Width( 40f ) ); 73 | 74 | EditorGUILayout.LabelField( "Categroy", "Showing" ); 75 | } 76 | EditorGUILayout.EndHorizontal(); 77 | 78 | _scrollPosition = EditorGUILayout.BeginScrollView( _scrollPosition ); 79 | 80 | int i=1; 81 | foreach( string c in HierarchyHelperManager.Categroies.Keys ) 82 | { 83 | EditorGUILayout.BeginHorizontal(); 84 | { 85 | GUILayout.Label( i++.ToString(), GUILayout.Width( 40f ) ); 86 | GUILayout.Label( HierarchyHelperManager.Categroies[c].ToString(), GUILayout.Width( 40f ) ); 87 | 88 | bool isOn = HierarchyHelperManager.GetShowing( c ); 89 | bool tempOn = EditorGUILayout.Toggle( c, isOn ); 90 | if( isOn != tempOn ) 91 | { 92 | HierarchyHelperManager.SetShowing( c, tempOn ); 93 | } 94 | 95 | if( _priorityMap.ContainsKey( c ) ) 96 | { 97 | foreach( HelperInfoSetting setting in _priorityMap[c] ) 98 | { 99 | _methodMap[setting].Invoke( null, null ); 100 | } 101 | } 102 | } 103 | EditorGUILayout.EndHorizontal(); 104 | } 105 | } 106 | EditorGUI.EndDisabledGroup(); 107 | EditorGUILayout.EndScrollView(); 108 | 109 | if( GUI.changed ) 110 | EditorApplication.RepaintHierarchyWindow(); 111 | } 112 | } 113 | } 114 | -------------------------------------------------------------------------------- /Assets/HierarchyHelper/Editor/HierarchyHelperSettingWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8cfc41bb5d322c14998cd91ed5ae03ef 3 | timeCreated: 1493963749 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/HierarchyHelper/Editor/HierarchyHelperTools.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using System; 5 | 6 | namespace HierarchyHelper 7 | { 8 | public static class HierarchyHelperTools 9 | { 10 | private static Texture2D _whiteTexture; 11 | public static Texture2D WhiteTexture 12 | { 13 | get 14 | { 15 | if( _whiteTexture == null ) 16 | _whiteTexture = new Texture2D( 2, 2 ); 17 | 18 | return _whiteTexture; 19 | } 20 | } 21 | 22 | public static void DrawWithColor( Color color, Action draw ) 23 | { 24 | if( draw != null ) 25 | { 26 | Color c = GUI.color; 27 | GUI.color = color; 28 | draw(); 29 | GUI.color = c; 30 | } 31 | } 32 | 33 | public static Vector2 GetContentSize( GUIContent c ) 34 | { 35 | return GUI.skin.label.CalcSize( c ); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /Assets/HierarchyHelper/Editor/HierarchyHelperTools.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1356edd01fd784d4984ad6ea16066c4a 3 | timeCreated: 1493963749 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/HierarchyHelperExamples.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fd1dcedd5e0d7a24ba9d67386f421bc9 3 | folderAsset: yes 4 | timeCreated: 1493994953 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/HierarchyHelperExamples/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a5e11e374ba1204eaace3d0fd0bcd24 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/HierarchyHelperExamples/Editor/MonoStaticTest1.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using HierarchyHelper; 5 | 6 | public static class MonoStaticTest1 7 | { 8 | [HelperInfo( typeof(Transform), "MonoStatic1", 1000 )] 9 | public static void test( Transform t ) 10 | { 11 | GUIContent c = new GUIContent( t.position.ToString() ); 12 | Vector2 l = HierarchyHelperTools.GetContentSize( c ); 13 | Rect rect = HierarchyHelperManager.GetControlRect( l.x + _sliderValue); 14 | GUI.Label( rect, c ); 15 | } 16 | 17 | static float _sliderValue = 0; 18 | [HelperInfoSetting("MonoStatic1")] 19 | public static void DrawHelperSetting() 20 | { 21 | _sliderValue = UnityEditor.EditorGUILayout.Slider(_sliderValue, 0, 100); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Assets/HierarchyHelperExamples/Editor/MonoStaticTest1.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 848988b83c3dd4f4da0053d8e43c5c1f 3 | timeCreated: 1493896278 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/HierarchyHelperExamples/Editor/NonMonoTest1.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using HierarchyHelper; 5 | 6 | public static class NonMonoTest1 7 | { 8 | [HelperInfo( "NonMonoTest1", 3)] 9 | public static void DrawHelper( GameObject obj ) 10 | { 11 | Rect rect = HierarchyHelperManager.GetControlRect( 30f ); 12 | GUI.Label(rect, "N1"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Assets/HierarchyHelperExamples/Editor/NonMonoTest1.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71e80f4b5b3dd1d43b00c455bf426124 3 | timeCreated: 1493896278 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/HierarchyHelperExamples/Editor/NonMonoTest2.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using HierarchyHelper; 5 | 6 | public static class NonMonoTest2 7 | { 8 | [HelperInfo( "NonMonoTest2", 0)] 9 | public static void DrawHelper( GameObject obj ) 10 | { 11 | Rect rect = HierarchyHelperManager.GetControlRect( 20f ); 12 | GUI.Label(rect, "N2"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Assets/HierarchyHelperExamples/Editor/NonMonoTest2.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cb2da25033a21844494603698fd25203 3 | timeCreated: 1493896278 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/HierarchyHelperExamples/Editor/NonMonoTestSub1.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using HierarchyHelper; 5 | 6 | public static class NonMonoTestSub1 7 | { 8 | static Texture2D t = null; 9 | [HelperInfo( "NonMonoTest1", 1)] 10 | public static void DrawHelper( GameObject obj ) 11 | { 12 | if( t == null ) 13 | t = new Texture2D(16, 16); 14 | Rect rect = HierarchyHelperManager.GetControlRect( 30f ); 15 | GUI.Label( rect, t ); 16 | } 17 | 18 | [HelperInfo( "NonMonoTest2", 2)] 19 | public static void DrawHelper2( GameObject obj ) 20 | { 21 | if( t == null ) 22 | t = new Texture2D(16, 16); 23 | Rect rect = HierarchyHelperManager.GetControlRect( 16f ); 24 | GUI.Label( rect, t ); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Assets/HierarchyHelperExamples/Editor/NonMonoTestSub1.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3739c6e46fa70e248b53295a0a74ff5c 3 | timeCreated: 1493896278 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/HierarchyHelperImplementations.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5b301b4503ba4e046a541d4d3e8cbe1c 3 | folderAsset: yes 4 | timeCreated: 1494163929 5 | licenseType: Free 6 | DefaultImporter: 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/HierarchyHelperImplementations/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cfe0a188a7ad32f41b7d3e6935d983e2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/HierarchyHelperImplementations/Editor/GameObjectControlling.cs: -------------------------------------------------------------------------------- 1 | #if UNITY_EDITOR 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | using HierarchyHelper; 6 | using UnityEditor; 7 | 8 | public class GameObjectControlling 9 | { 10 | [HelperInfo( "GameObject Controlling", 100 )] 11 | public static void DrawHelper( GameObject obj ) 12 | { 13 | Rect rect = HierarchyHelperManager.GetControlRect( 10f ); 14 | bool active = GUI.Toggle( rect, obj.activeSelf, string.Empty ); 15 | 16 | if( !EditorGUIUtility.editingTextField && active != obj.activeSelf ) 17 | obj.SetActive( active ); 18 | } 19 | } 20 | #endif -------------------------------------------------------------------------------- /Assets/HierarchyHelperImplementations/Editor/GameObjectControlling.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8eb00e70417368247806cee7d8d8a195 3 | timeCreated: 1494266024 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/HierarchyHelperImplementations/Editor/LayerControlling.cs: -------------------------------------------------------------------------------- 1 | #if UNITY_EDITOR 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | using UnityEditor; 6 | using UnityEditorInternal; 7 | using HierarchyHelper; 8 | 9 | public class LayerControlling 10 | { 11 | [HelperInfo( "Layer Name", 999 )] 12 | public static void DrawLayerName( GameObject obj ) 13 | { 14 | GUIContent layerName = new GUIContent( LayerMask.LayerToName( obj.layer ) ); 15 | Vector2 size = HierarchyHelperTools.GetContentSize( layerName ); 16 | 17 | Rect rect = HierarchyHelperManager.GetControlRect( size.x ); 18 | GUI.Label( rect, layerName ); 19 | } 20 | 21 | [HelperInfo( "Layer Control", -998 )] 22 | public static void DrawLayerVisible( GameObject obj ) 23 | { 24 | bool visible = ( Tools.visibleLayers & 1 << obj.layer ) > 0; 25 | Rect rect = HierarchyHelperManager.GetControlRect( 10 ); 26 | bool newVisible = GUI.Toggle( rect, visible, new GUIContent( "", LayerMask.LayerToName( obj.layer ) ) , "VisibilityToggle" ); 27 | if( newVisible != visible ) 28 | { 29 | Tools.visibleLayers ^= 1 << obj.layer; 30 | SceneView.RepaintAll(); 31 | } 32 | } 33 | 34 | [HelperInfo( "Layer Control", -999 )] 35 | public static void DrawLayerLock( GameObject obj ) 36 | { 37 | bool locked = ( Tools.lockedLayers & 1 << obj.layer ) > 0; 38 | Rect rect = HierarchyHelperManager.GetControlRect( 16f ); 39 | 40 | bool newLocked = locked; 41 | 42 | if( !locked ) 43 | { 44 | HierarchyHelperTools.DrawWithColor( new Color(1f,1f,1f,0.25f), ()=> 45 | newLocked = GUI.Toggle( rect, locked, new GUIContent( "", LayerMask.LayerToName( obj.layer ) ), "IN LockButton" ) ); 46 | } 47 | else 48 | { 49 | newLocked = GUI.Toggle( rect, locked, new GUIContent( "", LayerMask.LayerToName( obj.layer ) ), "IN LockButton" ); 50 | } 51 | 52 | if( newLocked != locked ) 53 | { 54 | Tools.lockedLayers ^= 1 << obj.layer; 55 | } 56 | } 57 | } 58 | #endif 59 | -------------------------------------------------------------------------------- /Assets/HierarchyHelperImplementations/Editor/LayerControlling.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7b4ba1cb29be15144a6ca291bc3f0c43 3 | timeCreated: 1494175409 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /Assets/HierarchyHelperImplementations/Editor/MissingScriptChecking.cs: -------------------------------------------------------------------------------- 1 | #if UNITY_EDITOR 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | using HierarchyHelper; 6 | 7 | public class MissingScriptChecking 8 | { 9 | private static GUIContent _yellowTooltip; 10 | private static GUIContent _redTooltip; 11 | private static GUIContent _greenTooltip; 12 | 13 | [HelperInfo( "Check Missing", -1000 )] 14 | public static void DrawHelper( GameObject obj ) 15 | { 16 | if( _yellowTooltip == null ) 17 | { 18 | _yellowTooltip = new GUIContent( string.Empty, "Contains Missing Script(s) in Children" ); 19 | _redTooltip = new GUIContent( string.Empty, "Contains Missing Script(s)" ); 20 | _greenTooltip = new GUIContent( string.Empty ); 21 | } 22 | 23 | Rect rect = HierarchyHelperManager.GetControlRect( 4 ); 24 | rect.y += 1; 25 | rect.height -= 2; 26 | 27 | Component[] allComponents = obj.GetComponentsInChildren( true ); 28 | bool found = false; 29 | bool isMissingOnThis = false; 30 | foreach( Component allC in allComponents ) 31 | { 32 | if( allC == null ) 33 | { 34 | Component[] myComponents = obj.GetComponents( ); 35 | foreach( Component myC in myComponents ) 36 | { 37 | if( myC == null ) 38 | { 39 | isMissingOnThis = true; 40 | break; 41 | } 42 | } 43 | found = true; 44 | break; 45 | } 46 | } 47 | 48 | HierarchyHelperTools.DrawWithColor( found ? isMissingOnThis ? Color.red : Color.yellow : Color.green, ()=>{ 49 | GUI.DrawTexture( rect, HierarchyHelperTools.WhiteTexture, ScaleMode.StretchToFill, true ); 50 | GUI.Label( rect, found ? isMissingOnThis ? _redTooltip : _yellowTooltip : _greenTooltip ); 51 | }); 52 | } 53 | } 54 | #endif -------------------------------------------------------------------------------- /Assets/HierarchyHelperImplementations/Editor/MissingScriptChecking.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1318fb3d125e2ca4b91cb0a7b6fcbc9f 3 | timeCreated: 1494266024 4 | licenseType: Free 5 | MonoImporter: 6 | serializedVersion: 2 7 | defaultReferences: [] 8 | executionOrder: 0 9 | icon: {instanceID: 0} 10 | userData: 11 | assetBundleName: 12 | assetBundleVariant: 13 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 gydisme 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | m_SpeedOfSound: 347 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_DSPBufferSize: 0 12 | m_DisableAudio: 0 13 | -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | m_Gravity: {x: 0, y: -9.81000042, z: 0} 7 | m_DefaultMaterial: {fileID: 0} 8 | m_BounceThreshold: 2 9 | m_SleepThreshold: .00499999989 10 | m_MaxAngularVelocity: 7 11 | m_MinPenetrationForPenalty: .00999999978 12 | m_SolverIterationCount: 6 13 | m_RaycastsHitTriggers: 1 14 | m_EnableAdaptiveForce: 0 15 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 16 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 0 9 | path: Assets/loader.unity 10 | -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 3 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_WebSecurityEmulationEnabled: 0 10 | m_WebSecurityEmulationHostUrl: http://www.mydomain.com/mygame.unity3d 11 | m_DefaultBehaviorMode: 0 12 | m_SpritePackerMode: 0 13 | -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 9 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10782, guid: 0000000000000000f000000000000000, type: 0} 38 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} 39 | m_PreloadedShaders: [] 40 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 41 | type: 0} 42 | m_TierSettings_Tier1: 43 | renderingPath: 1 44 | useCascadedShadowMaps: 1 45 | m_TierSettings_Tier2: 46 | renderingPath: 1 47 | useCascadedShadowMaps: 1 48 | m_TierSettings_Tier3: 49 | renderingPath: 1 50 | useCascadedShadowMaps: 1 51 | m_DefaultRenderingPath: 1 52 | m_DefaultMobileRenderingPath: 1 53 | m_TierSettings: [] 54 | m_LightmapStripping: 0 55 | m_FogStripping: 0 56 | m_LightmapKeepPlain: 1 57 | m_LightmapKeepDirCombined: 1 58 | m_LightmapKeepDirSeparate: 1 59 | m_LightmapKeepDynamicPlain: 1 60 | m_LightmapKeepDynamicDirCombined: 1 61 | m_LightmapKeepDynamicDirSeparate: 1 62 | m_FogKeepLinear: 1 63 | m_FogKeepExp: 1 64 | m_FogKeepExp2: 1 65 | -------------------------------------------------------------------------------- /ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!13 &1 4 | InputManager: 5 | m_ObjectHideFlags: 0 6 | m_Axes: 7 | - serializedVersion: 3 8 | m_Name: Horizontal 9 | descriptiveName: 10 | descriptiveNegativeName: 11 | negativeButton: left 12 | positiveButton: right 13 | altNegativeButton: a 14 | altPositiveButton: d 15 | gravity: 3 16 | dead: .00100000005 17 | sensitivity: 3 18 | snap: 1 19 | invert: 0 20 | type: 0 21 | axis: 0 22 | joyNum: 0 23 | - serializedVersion: 3 24 | m_Name: Vertical 25 | descriptiveName: 26 | descriptiveNegativeName: 27 | negativeButton: down 28 | positiveButton: up 29 | altNegativeButton: s 30 | altPositiveButton: w 31 | gravity: 3 32 | dead: .00100000005 33 | sensitivity: 3 34 | snap: 1 35 | invert: 0 36 | type: 0 37 | axis: 0 38 | joyNum: 0 39 | - serializedVersion: 3 40 | m_Name: Fire1 41 | descriptiveName: 42 | descriptiveNegativeName: 43 | negativeButton: 44 | positiveButton: left ctrl 45 | altNegativeButton: 46 | altPositiveButton: mouse 0 47 | gravity: 1000 48 | dead: .00100000005 49 | sensitivity: 1000 50 | snap: 0 51 | invert: 0 52 | type: 0 53 | axis: 0 54 | joyNum: 0 55 | - serializedVersion: 3 56 | m_Name: Fire2 57 | descriptiveName: 58 | descriptiveNegativeName: 59 | negativeButton: 60 | positiveButton: left alt 61 | altNegativeButton: 62 | altPositiveButton: mouse 1 63 | gravity: 1000 64 | dead: .00100000005 65 | sensitivity: 1000 66 | snap: 0 67 | invert: 0 68 | type: 0 69 | axis: 0 70 | joyNum: 0 71 | - serializedVersion: 3 72 | m_Name: Fire3 73 | descriptiveName: 74 | descriptiveNegativeName: 75 | negativeButton: 76 | positiveButton: left cmd 77 | altNegativeButton: 78 | altPositiveButton: mouse 2 79 | gravity: 1000 80 | dead: .00100000005 81 | sensitivity: 1000 82 | snap: 0 83 | invert: 0 84 | type: 0 85 | axis: 0 86 | joyNum: 0 87 | - serializedVersion: 3 88 | m_Name: Jump 89 | descriptiveName: 90 | descriptiveNegativeName: 91 | negativeButton: 92 | positiveButton: space 93 | altNegativeButton: 94 | altPositiveButton: 95 | gravity: 1000 96 | dead: .00100000005 97 | sensitivity: 1000 98 | snap: 0 99 | invert: 0 100 | type: 0 101 | axis: 0 102 | joyNum: 0 103 | - serializedVersion: 3 104 | m_Name: Mouse X 105 | descriptiveName: 106 | descriptiveNegativeName: 107 | negativeButton: 108 | positiveButton: 109 | altNegativeButton: 110 | altPositiveButton: 111 | gravity: 0 112 | dead: 0 113 | sensitivity: .100000001 114 | snap: 0 115 | invert: 0 116 | type: 1 117 | axis: 0 118 | joyNum: 0 119 | - serializedVersion: 3 120 | m_Name: Mouse Y 121 | descriptiveName: 122 | descriptiveNegativeName: 123 | negativeButton: 124 | positiveButton: 125 | altNegativeButton: 126 | altPositiveButton: 127 | gravity: 0 128 | dead: 0 129 | sensitivity: .100000001 130 | snap: 0 131 | invert: 0 132 | type: 1 133 | axis: 1 134 | joyNum: 0 135 | - serializedVersion: 3 136 | m_Name: Mouse ScrollWheel 137 | descriptiveName: 138 | descriptiveNegativeName: 139 | negativeButton: 140 | positiveButton: 141 | altNegativeButton: 142 | altPositiveButton: 143 | gravity: 0 144 | dead: 0 145 | sensitivity: .100000001 146 | snap: 0 147 | invert: 0 148 | type: 1 149 | axis: 2 150 | joyNum: 0 151 | - serializedVersion: 3 152 | m_Name: Horizontal 153 | descriptiveName: 154 | descriptiveNegativeName: 155 | negativeButton: 156 | positiveButton: 157 | altNegativeButton: 158 | altPositiveButton: 159 | gravity: 0 160 | dead: .189999998 161 | sensitivity: 1 162 | snap: 0 163 | invert: 0 164 | type: 2 165 | axis: 0 166 | joyNum: 0 167 | - serializedVersion: 3 168 | m_Name: Vertical 169 | descriptiveName: 170 | descriptiveNegativeName: 171 | negativeButton: 172 | positiveButton: 173 | altNegativeButton: 174 | altPositiveButton: 175 | gravity: 0 176 | dead: .189999998 177 | sensitivity: 1 178 | snap: 0 179 | invert: 1 180 | type: 2 181 | axis: 1 182 | joyNum: 0 183 | - serializedVersion: 3 184 | m_Name: Fire1 185 | descriptiveName: 186 | descriptiveNegativeName: 187 | negativeButton: 188 | positiveButton: joystick button 0 189 | altNegativeButton: 190 | altPositiveButton: 191 | gravity: 1000 192 | dead: .00100000005 193 | sensitivity: 1000 194 | snap: 0 195 | invert: 0 196 | type: 0 197 | axis: 0 198 | joyNum: 0 199 | - serializedVersion: 3 200 | m_Name: Fire2 201 | descriptiveName: 202 | descriptiveNegativeName: 203 | negativeButton: 204 | positiveButton: joystick button 1 205 | altNegativeButton: 206 | altPositiveButton: 207 | gravity: 1000 208 | dead: .00100000005 209 | sensitivity: 1000 210 | snap: 0 211 | invert: 0 212 | type: 0 213 | axis: 0 214 | joyNum: 0 215 | - serializedVersion: 3 216 | m_Name: Fire3 217 | descriptiveName: 218 | descriptiveNegativeName: 219 | negativeButton: 220 | positiveButton: joystick button 2 221 | altNegativeButton: 222 | altPositiveButton: 223 | gravity: 1000 224 | dead: .00100000005 225 | sensitivity: 1000 226 | snap: 0 227 | invert: 0 228 | type: 0 229 | axis: 0 230 | joyNum: 0 231 | - serializedVersion: 3 232 | m_Name: Jump 233 | descriptiveName: 234 | descriptiveNegativeName: 235 | negativeButton: 236 | positiveButton: joystick button 3 237 | altNegativeButton: 238 | altPositiveButton: 239 | gravity: 1000 240 | dead: .00100000005 241 | sensitivity: 1000 242 | snap: 0 243 | invert: 0 244 | type: 0 245 | axis: 0 246 | joyNum: 0 247 | -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshAreas: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Default 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | -------------------------------------------------------------------------------- /ProjectSettings/NavMeshLayers.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshLayers: 5 | m_ObjectHideFlags: 0 6 | Built-in Layer 0: 7 | name: Default 8 | cost: 1 9 | editType: 2 10 | Built-in Layer 1: 11 | name: Not Walkable 12 | cost: 1 13 | editType: 0 14 | Built-in Layer 2: 15 | name: Jump 16 | cost: 2 17 | editType: 2 18 | User Layer 0: 19 | name: 20 | cost: 1 21 | editType: 3 22 | User Layer 1: 23 | name: 24 | cost: 1 25 | editType: 3 26 | User Layer 2: 27 | name: 28 | cost: 1 29 | editType: 3 30 | User Layer 3: 31 | name: 32 | cost: 1 33 | editType: 3 34 | User Layer 4: 35 | name: 36 | cost: 1 37 | editType: 3 38 | User Layer 5: 39 | name: 40 | cost: 1 41 | editType: 3 42 | User Layer 6: 43 | name: 44 | cost: 1 45 | editType: 3 46 | User Layer 7: 47 | name: 48 | cost: 1 49 | editType: 3 50 | User Layer 8: 51 | name: 52 | cost: 1 53 | editType: 3 54 | User Layer 9: 55 | name: 56 | cost: 1 57 | editType: 3 58 | User Layer 10: 59 | name: 60 | cost: 1 61 | editType: 3 62 | User Layer 11: 63 | name: 64 | cost: 1 65 | editType: 3 66 | User Layer 12: 67 | name: 68 | cost: 1 69 | editType: 3 70 | User Layer 13: 71 | name: 72 | cost: 1 73 | editType: 3 74 | User Layer 14: 75 | name: 76 | cost: 1 77 | editType: 3 78 | User Layer 15: 79 | name: 80 | cost: 1 81 | editType: 3 82 | User Layer 16: 83 | name: 84 | cost: 1 85 | editType: 3 86 | User Layer 17: 87 | name: 88 | cost: 1 89 | editType: 3 90 | User Layer 18: 91 | name: 92 | cost: 1 93 | editType: 3 94 | User Layer 19: 95 | name: 96 | cost: 1 97 | editType: 3 98 | User Layer 20: 99 | name: 100 | cost: 1 101 | editType: 3 102 | User Layer 21: 103 | name: 104 | cost: 1 105 | editType: 3 106 | User Layer 22: 107 | name: 108 | cost: 1 109 | editType: 3 110 | User Layer 23: 111 | name: 112 | cost: 1 113 | editType: 3 114 | User Layer 24: 115 | name: 116 | cost: 1 117 | editType: 3 118 | User Layer 25: 119 | name: 120 | cost: 1 121 | editType: 3 122 | User Layer 26: 123 | name: 124 | cost: 1 125 | editType: 3 126 | User Layer 27: 127 | name: 128 | cost: 1 129 | editType: 3 130 | User Layer 28: 131 | name: 132 | cost: 1 133 | editType: 3 134 | -------------------------------------------------------------------------------- /ProjectSettings/NavMeshLayers.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 00000000000000004100000000000000 3 | LibraryAssetImporter: 4 | userData: 5 | assetBundleName: 6 | assetBundleVariant: 7 | -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | m_Gravity: {x: 0, y: -9.81000042} 7 | m_DefaultMaterial: {fileID: 0} 8 | m_VelocityIterations: 8 9 | m_PositionIterations: 3 10 | m_VelocityThreshold: 1 11 | m_MaxLinearCorrection: .200000003 12 | m_MaxAngularCorrection: 8 13 | m_MaxTranslationSpeed: 100 14 | m_MaxRotationSpeed: 360 15 | m_BaumgarteScale: .200000003 16 | m_BaumgarteTimeOfImpactScale: .75 17 | m_TimeToSleep: .5 18 | m_LinearSleepTolerance: .00999999978 19 | m_AngularSleepTolerance: 2 20 | m_RaycastsHitTriggers: 1 21 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 22 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!129 &1 4 | PlayerSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 11 7 | productGUID: 6f11679adf5c64d4b940549c0440e3f4 8 | AndroidProfiler: 0 9 | defaultScreenOrientation: 0 10 | targetDevice: 2 11 | useOnDemandResources: 0 12 | accelerometerFrequency: 60 13 | companyName: Unity 14 | productName: assetbundle_demo 15 | defaultCursor: {fileID: 0} 16 | cursorHotspot: {x: 0, y: 0} 17 | m_SplashScreenBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21176471, a: 1} 18 | m_ShowUnitySplashScreen: 1 19 | m_ShowUnitySplashLogo: 1 20 | m_SplashScreenOverlayOpacity: 1 21 | m_SplashScreenAnimation: 1 22 | m_SplashScreenLogoStyle: 1 23 | m_SplashScreenDrawMode: 0 24 | m_SplashScreenBackgroundAnimationZoom: 1 25 | m_SplashScreenLogoAnimationZoom: 1 26 | m_SplashScreenBackgroundLandscapeAspect: 1 27 | m_SplashScreenBackgroundPortraitAspect: 1 28 | m_SplashScreenBackgroundLandscapeUvs: 29 | serializedVersion: 2 30 | x: 0 31 | y: 0 32 | width: 1 33 | height: 1 34 | m_SplashScreenBackgroundPortraitUvs: 35 | serializedVersion: 2 36 | x: 0 37 | y: 0 38 | width: 1 39 | height: 1 40 | m_SplashScreenLogos: [] 41 | m_SplashScreenBackgroundLandscape: {fileID: 0} 42 | m_SplashScreenBackgroundPortrait: {fileID: 0} 43 | m_VirtualRealitySplashScreen: {fileID: 0} 44 | m_HolographicTrackingLossScreen: {fileID: 0} 45 | defaultScreenWidth: 1024 46 | defaultScreenHeight: 768 47 | defaultScreenWidthWeb: 960 48 | defaultScreenHeightWeb: 600 49 | m_StereoRenderingPath: 0 50 | m_ActiveColorSpace: 0 51 | m_MTRendering: 1 52 | m_MobileMTRendering: 0 53 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000 54 | iosShowActivityIndicatorOnLoading: -1 55 | androidShowActivityIndicatorOnLoading: -1 56 | tizenShowActivityIndicatorOnLoading: -1 57 | iosAppInBackgroundBehavior: 0 58 | displayResolutionDialog: 1 59 | iosAllowHTTPDownload: 1 60 | allowedAutorotateToPortrait: 1 61 | allowedAutorotateToPortraitUpsideDown: 1 62 | allowedAutorotateToLandscapeRight: 1 63 | allowedAutorotateToLandscapeLeft: 1 64 | useOSAutorotation: 1 65 | use32BitDisplayBuffer: 1 66 | disableDepthAndStencilBuffers: 0 67 | defaultIsFullScreen: 1 68 | defaultIsNativeResolution: 1 69 | runInBackground: 0 70 | captureSingleScreen: 0 71 | muteOtherAudioSources: 0 72 | Prepare IOS For Recording: 0 73 | submitAnalytics: 1 74 | usePlayerLog: 1 75 | bakeCollisionMeshes: 0 76 | forceSingleInstance: 0 77 | resizableWindow: 0 78 | useMacAppStoreValidation: 0 79 | macAppStoreCategory: public.app-category.games 80 | gpuSkinning: 0 81 | graphicsJobs: 0 82 | xboxPIXTextureCapture: 0 83 | xboxEnableAvatar: 0 84 | xboxEnableKinect: 0 85 | xboxEnableKinectAutoTracking: 0 86 | xboxEnableFitness: 0 87 | visibleInBackground: 0 88 | allowFullscreenSwitch: 1 89 | graphicsJobMode: 0 90 | macFullscreenMode: 2 91 | d3d9FullscreenMode: 1 92 | d3d11FullscreenMode: 1 93 | xboxSpeechDB: 0 94 | xboxEnableHeadOrientation: 0 95 | xboxEnableGuest: 0 96 | xboxEnablePIXSampling: 0 97 | n3dsDisableStereoscopicView: 0 98 | n3dsEnableSharedListOpt: 1 99 | n3dsEnableVSync: 0 100 | ignoreAlphaClear: 0 101 | xboxOneResolution: 0 102 | xboxOneMonoLoggingLevel: 0 103 | xboxOneLoggingLevel: 1 104 | videoMemoryForVertexBuffers: 0 105 | psp2PowerMode: 0 106 | psp2AcquireBGM: 1 107 | wiiUTVResolution: 0 108 | wiiUGamePadMSAA: 1 109 | wiiUSupportsNunchuk: 0 110 | wiiUSupportsClassicController: 0 111 | wiiUSupportsBalanceBoard: 0 112 | wiiUSupportsMotionPlus: 0 113 | wiiUSupportsProController: 0 114 | wiiUAllowScreenCapture: 1 115 | wiiUControllerCount: 0 116 | m_SupportedAspectRatios: 117 | 4:3: 1 118 | 5:4: 1 119 | 16:10: 1 120 | 16:9: 1 121 | Others: 1 122 | bundleVersion: 1.0 123 | preloadedAssets: [] 124 | metroInputSource: 0 125 | m_HolographicPauseOnTrackingLoss: 1 126 | xboxOneDisableKinectGpuReservation: 0 127 | xboxOneEnable7thCore: 0 128 | vrSettings: 129 | cardboard: 130 | depthFormat: 0 131 | enableTransitionView: 0 132 | daydream: 133 | depthFormat: 0 134 | useSustainedPerformanceMode: 0 135 | hololens: 136 | depthFormat: 1 137 | protectGraphicsMemory: 0 138 | useHDRDisplay: 0 139 | applicationIdentifier: 140 | Android: com.Company.ProductName 141 | Standalone: unity.Unity.assetbundle_demo 142 | Tizen: com.Company.ProductName 143 | iOS: com.Company.ProductName 144 | tvOS: com.Company.ProductName 145 | buildNumber: 146 | iOS: 0 147 | AndroidBundleVersionCode: 1 148 | AndroidMinSdkVersion: 16 149 | AndroidTargetSdkVersion: 0 150 | AndroidPreferredInstallLocation: 1 151 | aotOptions: 152 | stripEngineCode: 1 153 | iPhoneStrippingLevel: 0 154 | iPhoneScriptCallOptimization: 0 155 | ForceInternetPermission: 0 156 | ForceSDCardPermission: 0 157 | CreateWallpaper: 0 158 | APKExpansionFiles: 0 159 | keepLoadedShadersAlive: 0 160 | StripUnusedMeshComponents: 0 161 | VertexChannelCompressionMask: 162 | serializedVersion: 2 163 | m_Bits: 238 164 | iPhoneSdkVersion: 988 165 | iOSTargetOSVersionString: 6.0 166 | tvOSSdkVersion: 0 167 | tvOSRequireExtendedGameController: 0 168 | tvOSTargetOSVersionString: 9.0 169 | uIPrerenderedIcon: 0 170 | uIRequiresPersistentWiFi: 0 171 | uIRequiresFullScreen: 1 172 | uIStatusBarHidden: 1 173 | uIExitOnSuspend: 0 174 | uIStatusBarStyle: 0 175 | iPhoneSplashScreen: {fileID: 0} 176 | iPhoneHighResSplashScreen: {fileID: 0} 177 | iPhoneTallHighResSplashScreen: {fileID: 0} 178 | iPhone47inSplashScreen: {fileID: 0} 179 | iPhone55inPortraitSplashScreen: {fileID: 0} 180 | iPhone55inLandscapeSplashScreen: {fileID: 0} 181 | iPadPortraitSplashScreen: {fileID: 0} 182 | iPadHighResPortraitSplashScreen: {fileID: 0} 183 | iPadLandscapeSplashScreen: {fileID: 0} 184 | iPadHighResLandscapeSplashScreen: {fileID: 0} 185 | appleTVSplashScreen: {fileID: 0} 186 | tvOSSmallIconLayers: [] 187 | tvOSLargeIconLayers: [] 188 | tvOSTopShelfImageLayers: [] 189 | tvOSTopShelfImageWideLayers: [] 190 | iOSLaunchScreenType: 0 191 | iOSLaunchScreenPortrait: {fileID: 0} 192 | iOSLaunchScreenLandscape: {fileID: 0} 193 | iOSLaunchScreenBackgroundColor: 194 | serializedVersion: 2 195 | rgba: 0 196 | iOSLaunchScreenFillPct: 100 197 | iOSLaunchScreenSize: 100 198 | iOSLaunchScreenCustomXibPath: 199 | iOSLaunchScreeniPadType: 0 200 | iOSLaunchScreeniPadImage: {fileID: 0} 201 | iOSLaunchScreeniPadBackgroundColor: 202 | serializedVersion: 2 203 | rgba: 0 204 | iOSLaunchScreeniPadFillPct: 100 205 | iOSLaunchScreeniPadSize: 100 206 | iOSLaunchScreeniPadCustomXibPath: 207 | iOSDeviceRequirements: [] 208 | iOSURLSchemes: [] 209 | iOSBackgroundModes: 0 210 | iOSMetalForceHardShadows: 0 211 | metalEditorSupport: 1 212 | metalAPIValidation: 1 213 | iOSRenderExtraFrameOnPause: 1 214 | appleDeveloperTeamID: 215 | iOSManualSigningProvisioningProfileID: 216 | tvOSManualSigningProvisioningProfileID: 217 | appleEnableAutomaticSigning: 0 218 | AndroidTargetDevice: 0 219 | AndroidSplashScreenScale: 0 220 | androidSplashScreen: {fileID: 0} 221 | AndroidKeystoreName: 222 | AndroidKeyaliasName: 223 | AndroidTVCompatibility: 1 224 | AndroidIsGame: 1 225 | androidEnableBanner: 1 226 | m_AndroidBanners: 227 | - width: 320 228 | height: 180 229 | banner: {fileID: 0} 230 | androidGamepadSupportLevel: 0 231 | resolutionDialogBanner: {fileID: 0} 232 | m_BuildTargetIcons: 233 | - m_BuildTarget: 234 | m_Icons: 235 | - serializedVersion: 2 236 | m_Icon: {fileID: 0} 237 | m_Width: 128 238 | m_Height: 128 239 | m_BuildTargetBatching: [] 240 | m_BuildTargetGraphicsAPIs: 241 | - m_BuildTarget: iOSSupport 242 | m_APIs: 08000000 243 | m_Automatic: 0 244 | - m_BuildTarget: AndroidPlayer 245 | m_APIs: 08000000 246 | m_Automatic: 0 247 | m_BuildTargetVRSettings: [] 248 | openGLRequireES31: 0 249 | openGLRequireES31AEP: 0 250 | webPlayerTemplate: APPLICATION:Default 251 | m_TemplateCustomTags: {} 252 | wiiUTitleID: 0005000011000000 253 | wiiUGroupID: 00010000 254 | wiiUCommonSaveSize: 4096 255 | wiiUAccountSaveSize: 2048 256 | wiiUOlvAccessKey: 0 257 | wiiUTinCode: 0 258 | wiiUJoinGameId: 0 259 | wiiUJoinGameModeMask: 0000000000000000 260 | wiiUCommonBossSize: 0 261 | wiiUAccountBossSize: 0 262 | wiiUAddOnUniqueIDs: [] 263 | wiiUMainThreadStackSize: 3072 264 | wiiULoaderThreadStackSize: 1024 265 | wiiUSystemHeapSize: 128 266 | wiiUTVStartupScreen: {fileID: 0} 267 | wiiUGamePadStartupScreen: {fileID: 0} 268 | wiiUDrcBufferDisabled: 0 269 | wiiUProfilerLibPath: 270 | playModeTestRunnerEnabled: 0 271 | actionOnDotNetUnhandledException: 1 272 | enableInternalProfiler: 0 273 | logObjCUncaughtExceptions: 1 274 | enableCrashReportAPI: 0 275 | cameraUsageDescription: 276 | locationUsageDescription: 277 | microphoneUsageDescription: 278 | switchNetLibKey: 279 | switchSocketMemoryPoolSize: 6144 280 | switchSocketAllocatorPoolSize: 128 281 | switchSocketConcurrencyLimit: 14 282 | switchUseCPUProfiler: 0 283 | switchApplicationID: 0x0005000C10000001 284 | switchNSODependencies: 285 | switchTitleNames_0: 286 | switchTitleNames_1: 287 | switchTitleNames_2: 288 | switchTitleNames_3: 289 | switchTitleNames_4: 290 | switchTitleNames_5: 291 | switchTitleNames_6: 292 | switchTitleNames_7: 293 | switchTitleNames_8: 294 | switchTitleNames_9: 295 | switchTitleNames_10: 296 | switchTitleNames_11: 297 | switchTitleNames_12: 298 | switchTitleNames_13: 299 | switchTitleNames_14: 300 | switchPublisherNames_0: 301 | switchPublisherNames_1: 302 | switchPublisherNames_2: 303 | switchPublisherNames_3: 304 | switchPublisherNames_4: 305 | switchPublisherNames_5: 306 | switchPublisherNames_6: 307 | switchPublisherNames_7: 308 | switchPublisherNames_8: 309 | switchPublisherNames_9: 310 | switchPublisherNames_10: 311 | switchPublisherNames_11: 312 | switchPublisherNames_12: 313 | switchPublisherNames_13: 314 | switchPublisherNames_14: 315 | switchIcons_0: {fileID: 0} 316 | switchIcons_1: {fileID: 0} 317 | switchIcons_2: {fileID: 0} 318 | switchIcons_3: {fileID: 0} 319 | switchIcons_4: {fileID: 0} 320 | switchIcons_5: {fileID: 0} 321 | switchIcons_6: {fileID: 0} 322 | switchIcons_7: {fileID: 0} 323 | switchIcons_8: {fileID: 0} 324 | switchIcons_9: {fileID: 0} 325 | switchIcons_10: {fileID: 0} 326 | switchIcons_11: {fileID: 0} 327 | switchIcons_12: {fileID: 0} 328 | switchIcons_13: {fileID: 0} 329 | switchIcons_14: {fileID: 0} 330 | switchSmallIcons_0: {fileID: 0} 331 | switchSmallIcons_1: {fileID: 0} 332 | switchSmallIcons_2: {fileID: 0} 333 | switchSmallIcons_3: {fileID: 0} 334 | switchSmallIcons_4: {fileID: 0} 335 | switchSmallIcons_5: {fileID: 0} 336 | switchSmallIcons_6: {fileID: 0} 337 | switchSmallIcons_7: {fileID: 0} 338 | switchSmallIcons_8: {fileID: 0} 339 | switchSmallIcons_9: {fileID: 0} 340 | switchSmallIcons_10: {fileID: 0} 341 | switchSmallIcons_11: {fileID: 0} 342 | switchSmallIcons_12: {fileID: 0} 343 | switchSmallIcons_13: {fileID: 0} 344 | switchSmallIcons_14: {fileID: 0} 345 | switchManualHTML: 346 | switchAccessibleURLs: 347 | switchLegalInformation: 348 | switchMainThreadStackSize: 1048576 349 | switchPresenceGroupId: 0x0005000C10000001 350 | switchLogoHandling: 0 351 | switchReleaseVersion: 0 352 | switchDisplayVersion: 1.0.0 353 | switchStartupUserAccount: 0 354 | switchTouchScreenUsage: 0 355 | switchSupportedLanguagesMask: 0 356 | switchLogoType: 0 357 | switchApplicationErrorCodeCategory: 358 | switchUserAccountSaveDataSize: 0 359 | switchUserAccountSaveDataJournalSize: 0 360 | switchAttribute: 0 361 | switchCardSpecSize: 4 362 | switchCardSpecClock: 25 363 | switchRatingsMask: 0 364 | switchRatingsInt_0: 0 365 | switchRatingsInt_1: 0 366 | switchRatingsInt_2: 0 367 | switchRatingsInt_3: 0 368 | switchRatingsInt_4: 0 369 | switchRatingsInt_5: 0 370 | switchRatingsInt_6: 0 371 | switchRatingsInt_7: 0 372 | switchRatingsInt_8: 0 373 | switchRatingsInt_9: 0 374 | switchRatingsInt_10: 0 375 | switchRatingsInt_11: 0 376 | switchLocalCommunicationIds_0: 0x0005000C10000001 377 | switchLocalCommunicationIds_1: 378 | switchLocalCommunicationIds_2: 379 | switchLocalCommunicationIds_3: 380 | switchLocalCommunicationIds_4: 381 | switchLocalCommunicationIds_5: 382 | switchLocalCommunicationIds_6: 383 | switchLocalCommunicationIds_7: 384 | switchParentalControl: 0 385 | switchAllowsScreenshot: 1 386 | switchDataLossConfirmation: 0 387 | ps4NPAgeRating: -842150451 388 | ps4NPTitleSecret: 389 | ps4NPTrophyPackPath: 390 | ps4ParentalLevel: -842150451 391 | ps4ContentID: 392 | ps4Category: -842150451 393 | ps4MasterVersion: 394 | ps4AppVersion: 395 | ps4AppType: 0 396 | ps4ParamSfxPath: 397 | ps4VideoOutPixelFormat: -842150451 398 | ps4VideoOutInitialWidth: 1920 399 | ps4VideoOutBaseModeInitialWidth: 1920 400 | ps4VideoOutReprojectionRate: 120 401 | ps4PronunciationXMLPath: 402 | ps4PronunciationSIGPath: 403 | ps4BackgroundImagePath: 404 | ps4StartupImagePath: 405 | ps4SaveDataImagePath: 406 | ps4SdkOverride: 407 | ps4BGMPath: 408 | ps4ShareFilePath: 409 | ps4ShareOverlayImagePath: 410 | ps4PrivacyGuardImagePath: 411 | ps4NPtitleDatPath: 412 | ps4RemotePlayKeyAssignment: -1 413 | ps4RemotePlayKeyMappingDir: 414 | ps4PlayTogetherPlayerCount: 0 415 | ps4EnterButtonAssignment: -842150451 416 | ps4ApplicationParam1: -842150451 417 | ps4ApplicationParam2: -842150451 418 | ps4ApplicationParam3: -842150451 419 | ps4ApplicationParam4: -842150451 420 | ps4DownloadDataSize: 0 421 | ps4GarlicHeapSize: 2048 422 | ps4ProGarlicHeapSize: 2560 423 | ps4Passcode: eaoEiIgxIX4a2dREbbSqWy6yhKIDCdJO 424 | ps4UseDebugIl2cppLibs: 0 425 | ps4pnSessions: 1 426 | ps4pnPresence: 1 427 | ps4pnFriends: 1 428 | ps4pnGameCustomData: 1 429 | playerPrefsSupport: 0 430 | restrictedAudioUsageRights: 0 431 | ps4UseResolutionFallback: 0 432 | ps4ReprojectionSupport: 0 433 | ps4UseAudio3dBackend: 0 434 | ps4SocialScreenEnabled: 0 435 | ps4ScriptOptimizationLevel: 3 436 | ps4Audio3dVirtualSpeakerCount: 14 437 | ps4attribCpuUsage: 0 438 | ps4PatchPkgPath: 439 | ps4PatchLatestPkgPath: 440 | ps4PatchChangeinfoPath: 441 | ps4PatchDayOne: 0 442 | ps4attribUserManagement: 0 443 | ps4attribMoveSupport: 0 444 | ps4attrib3DSupport: 0 445 | ps4attribShareSupport: 0 446 | ps4attribExclusiveVR: 0 447 | ps4disableAutoHideSplash: 0 448 | ps4videoRecordingFeaturesUsed: 0 449 | ps4contentSearchFeaturesUsed: 0 450 | ps4attribEyeToEyeDistanceSettingVR: 0 451 | ps4IncludedModules: [] 452 | monoEnv: 453 | psp2Splashimage: {fileID: 0} 454 | psp2NPTrophyPackPath: 455 | psp2NPSupportGBMorGJP: 0 456 | psp2NPAgeRating: 12 457 | psp2NPTitleDatPath: 458 | psp2NPCommsID: 459 | psp2NPCommunicationsID: 460 | psp2NPCommsPassphrase: 461 | psp2NPCommsSig: 462 | psp2ParamSfxPath: 463 | psp2ManualPath: 464 | psp2LiveAreaGatePath: 465 | psp2LiveAreaBackroundPath: 466 | psp2LiveAreaPath: 467 | psp2LiveAreaTrialPath: 468 | psp2PatchChangeInfoPath: 469 | psp2PatchOriginalPackage: 470 | psp2PackagePassword: wx31uP9sj3XBkrLQIThqyubWNYPxfkxr 471 | psp2KeystoneFile: 472 | psp2MemoryExpansionMode: 0 473 | psp2DRMType: 0 474 | psp2StorageType: 0 475 | psp2MediaCapacity: 0 476 | psp2DLCConfigPath: 477 | psp2ThumbnailPath: 478 | psp2BackgroundPath: 479 | psp2SoundPath: 480 | psp2TrophyCommId: 481 | psp2TrophyPackagePath: 482 | psp2PackagedResourcesPath: 483 | psp2SaveDataQuota: 10240 484 | psp2ParentalLevel: 1 485 | psp2ShortTitle: Not Set 486 | psp2ContentID: IV0000-ABCD12345_00-0123456789ABCDEF 487 | psp2Category: 0 488 | psp2MasterVersion: 01.00 489 | psp2AppVersion: 01.00 490 | psp2TVBootMode: 0 491 | psp2EnterButtonAssignment: 2 492 | psp2TVDisableEmu: 0 493 | psp2AllowTwitterDialog: 1 494 | psp2Upgradable: 0 495 | psp2HealthWarning: 0 496 | psp2UseLibLocation: 0 497 | psp2InfoBarOnStartup: 0 498 | psp2InfoBarColor: 0 499 | psp2UseDebugIl2cppLibs: 0 500 | psmSplashimage: {fileID: 0} 501 | splashScreenBackgroundSourceLandscape: {fileID: 0} 502 | splashScreenBackgroundSourcePortrait: {fileID: 0} 503 | spritePackerPolicy: 504 | webGLMemorySize: 256 505 | webGLExceptionSupport: 1 506 | webGLNameFilesAsHashes: 0 507 | webGLDataCaching: 0 508 | webGLDebugSymbols: 0 509 | webGLEmscriptenArgs: 510 | webGLModulesDirectory: 511 | webGLTemplate: APPLICATION:Default 512 | webGLAnalyzeBuildSize: 0 513 | webGLUseEmbeddedResources: 0 514 | webGLUseWasm: 0 515 | webGLCompressionFormat: 1 516 | scriptingDefineSymbols: {} 517 | platformArchitecture: 518 | iOS: 2 519 | scriptingBackend: 520 | Android: 0 521 | Metro: 2 522 | Standalone: 0 523 | WP8: 2 524 | WebGL: 1 525 | iOS: 1 526 | incrementalIl2cppBuild: 527 | iOS: 1 528 | additionalIl2CppArgs: 529 | apiCompatibilityLevelPerPlatform: {} 530 | m_RenderingPath: 1 531 | m_MobileRenderingPath: 1 532 | metroPackageName: virtualasset 533 | metroPackageVersion: 534 | metroCertificatePath: 535 | metroCertificatePassword: 536 | metroCertificateSubject: 537 | metroCertificateIssuer: 538 | metroCertificateNotAfter: 0000000000000000 539 | metroApplicationDescription: virtualasset 540 | wsaImages: {} 541 | metroTileShortName: 542 | metroCommandLineArgsFile: 543 | metroTileShowName: 0 544 | metroMediumTileShowName: 0 545 | metroLargeTileShowName: 0 546 | metroWideTileShowName: 0 547 | metroDefaultTileSize: 1 548 | metroTileForegroundText: 1 549 | metroTileBackgroundColor: {r: 0, g: 0, b: 0, a: 1} 550 | metroSplashScreenBackgroundColor: {r: 0, g: 0, b: 0, a: 1} 551 | metroSplashScreenUseBackgroundColor: 0 552 | platformCapabilities: {} 553 | metroFTAName: 554 | metroFTAFileTypes: [] 555 | metroProtocolName: 556 | metroCompilationOverrides: 1 557 | tizenProductDescription: 558 | tizenProductURL: 559 | tizenSigningProfileName: 560 | tizenGPSPermissions: 0 561 | tizenMicrophonePermissions: 0 562 | tizenDeploymentTarget: 563 | tizenDeploymentTargetType: -1 564 | tizenMinOSVersion: 1 565 | n3dsUseExtSaveData: 0 566 | n3dsCompressStaticMem: 1 567 | n3dsExtSaveDataNumber: 0x12345 568 | n3dsStackSize: 131072 569 | n3dsTargetPlatform: 2 570 | n3dsRegion: 7 571 | n3dsMediaSize: 0 572 | n3dsLogoStyle: 3 573 | n3dsTitle: GameName 574 | n3dsProductCode: 575 | n3dsApplicationId: 0xFF3FF 576 | stvDeviceAddress: 577 | stvProductDescription: 578 | stvProductAuthor: 579 | stvProductAuthorEmail: 580 | stvProductLink: 581 | stvProductCategory: 0 582 | XboxOneProductId: 583 | XboxOneUpdateKey: 584 | XboxOneSandboxId: 585 | XboxOneContentId: 586 | XboxOneTitleId: 587 | XboxOneSCId: 588 | XboxOneGameOsOverridePath: 589 | XboxOnePackagingOverridePath: 590 | XboxOneAppManifestOverridePath: 591 | XboxOnePackageEncryption: 0 592 | XboxOnePackageUpdateGranularity: 2 593 | XboxOneDescription: 594 | XboxOneLanguage: 595 | - enus 596 | XboxOneCapability: [] 597 | XboxOneGameRating: {} 598 | XboxOneIsContentPackage: 0 599 | XboxOneEnableGPUVariability: 0 600 | XboxOneSockets: 601 | Unity Internal - Mono async-IO: 602 | m_Name: Unity Internal - Mono async-IO 603 | m_Port: 0 604 | m_Protocol: 0 605 | m_Usages: 0000000001000000 606 | m_TemplateName: 607 | m_SessionRequirment: 0 608 | m_DeviceUsages: 609 | XboxOneSplashScreen: {fileID: 0} 610 | XboxOneAllowedProductIds: [] 611 | XboxOnePersistentLocalStorageSize: 0 612 | xboxOneScriptCompiler: 0 613 | vrEditorSettings: 614 | daydream: 615 | daydreamIconForeground: {fileID: 0} 616 | daydreamIconBackground: {fileID: 0} 617 | cloudServicesEnabled: {} 618 | facebookSdkVersion: 7.9.1 619 | apiCompatibilityLevel: 1 620 | cloudProjectId: 621 | projectName: 622 | organizationId: 623 | cloudEnabled: 0 624 | enableNewInputSystem: 0 625 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 5.6.0p3 2 | -------------------------------------------------------------------------------- /ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!47 &1 4 | QualitySettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_CurrentQuality: 3 8 | m_QualitySettings: 9 | - serializedVersion: 2 10 | name: Fastest 11 | pixelLightCount: 0 12 | shadows: 0 13 | shadowResolution: 0 14 | shadowProjection: 1 15 | shadowCascades: 1 16 | shadowDistance: 15 17 | blendWeights: 1 18 | textureQuality: 1 19 | anisotropicTextures: 0 20 | antiAliasing: 0 21 | softParticles: 0 22 | softVegetation: 0 23 | realtimeReflectionProbes: 0 24 | vSyncCount: 0 25 | lodBias: .300000012 26 | maximumLODLevel: 0 27 | particleRaycastBudget: 4 28 | excludedTargetPlatforms: [] 29 | - serializedVersion: 2 30 | name: Fast 31 | pixelLightCount: 0 32 | shadows: 0 33 | shadowResolution: 0 34 | shadowProjection: 1 35 | shadowCascades: 1 36 | shadowDistance: 20 37 | blendWeights: 2 38 | textureQuality: 0 39 | anisotropicTextures: 0 40 | antiAliasing: 0 41 | softParticles: 0 42 | softVegetation: 0 43 | realtimeReflectionProbes: 0 44 | vSyncCount: 0 45 | lodBias: .400000006 46 | maximumLODLevel: 0 47 | particleRaycastBudget: 16 48 | excludedTargetPlatforms: [] 49 | - serializedVersion: 2 50 | name: Simple 51 | pixelLightCount: 1 52 | shadows: 1 53 | shadowResolution: 0 54 | shadowProjection: 1 55 | shadowCascades: 1 56 | shadowDistance: 20 57 | blendWeights: 2 58 | textureQuality: 0 59 | anisotropicTextures: 1 60 | antiAliasing: 0 61 | softParticles: 0 62 | softVegetation: 0 63 | realtimeReflectionProbes: 0 64 | vSyncCount: 0 65 | lodBias: .699999988 66 | maximumLODLevel: 0 67 | particleRaycastBudget: 64 68 | excludedTargetPlatforms: [] 69 | - serializedVersion: 2 70 | name: Good 71 | pixelLightCount: 2 72 | shadows: 2 73 | shadowResolution: 1 74 | shadowProjection: 1 75 | shadowCascades: 2 76 | shadowDistance: 40 77 | blendWeights: 2 78 | textureQuality: 0 79 | anisotropicTextures: 1 80 | antiAliasing: 0 81 | softParticles: 0 82 | softVegetation: 1 83 | realtimeReflectionProbes: 1 84 | vSyncCount: 1 85 | lodBias: 1 86 | maximumLODLevel: 0 87 | particleRaycastBudget: 256 88 | excludedTargetPlatforms: [] 89 | - serializedVersion: 2 90 | name: Beautiful 91 | pixelLightCount: 3 92 | shadows: 2 93 | shadowResolution: 2 94 | shadowProjection: 1 95 | shadowCascades: 2 96 | shadowDistance: 70 97 | blendWeights: 4 98 | textureQuality: 0 99 | anisotropicTextures: 2 100 | antiAliasing: 2 101 | softParticles: 1 102 | softVegetation: 1 103 | realtimeReflectionProbes: 1 104 | vSyncCount: 1 105 | lodBias: 1.5 106 | maximumLODLevel: 0 107 | particleRaycastBudget: 1024 108 | excludedTargetPlatforms: [] 109 | - serializedVersion: 2 110 | name: Fantastic 111 | pixelLightCount: 4 112 | shadows: 2 113 | shadowResolution: 2 114 | shadowProjection: 1 115 | shadowCascades: 4 116 | shadowDistance: 150 117 | blendWeights: 4 118 | textureQuality: 0 119 | anisotropicTextures: 2 120 | antiAliasing: 2 121 | softParticles: 1 122 | softVegetation: 1 123 | realtimeReflectionProbes: 1 124 | vSyncCount: 1 125 | lodBias: 2 126 | maximumLODLevel: 0 127 | particleRaycastBudget: 4096 128 | excludedTargetPlatforms: [] 129 | m_PerPlatformDefaultQuality: {} 130 | -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | userID: 0 43 | uniqueID: 0 44 | locked: 0 45 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: .0199999996 7 | Maximum Allowed Timestep: .333333343 8 | m_TimeScale: 1 9 | -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | m_Enabled: 0 7 | m_TestMode: 0 8 | m_TestEventUrl: 9 | m_TestConfigUrl: 10 | CrashReportingSettings: 11 | m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes 12 | m_Enabled: 0 13 | m_CaptureEditorExceptions: 1 14 | UnityPurchasingSettings: 15 | m_Enabled: 0 16 | m_TestMode: 0 17 | UnityAnalyticsSettings: 18 | m_Enabled: 0 19 | m_InitializeOnStartup: 1 20 | m_TestMode: 0 21 | m_TestEventUrl: 22 | m_TestConfigUrl: 23 | UnityAdsSettings: 24 | m_Enabled: 0 25 | m_InitializeOnStartup: 1 26 | m_TestMode: 0 27 | m_EnabledPlatforms: 4294967295 28 | m_IosGameId: 29 | m_AndroidGameId: 30 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Unity-HierarchyHelper 2 | = 3 | The fastest way to create Unity Hierarchy GUI items ever. 4 | ![](http://i.imgur.com/nPJcYNG.gif) 5 | ![](https://i.imgur.com/oWhbFgi.png) 6 | ![](http://i.imgur.com/4QC5t3b.png) 7 | ![](http://i.imgur.com/cU2iwYG.png) 8 | - Author: Gyd Tseng 9 | - Email: kingterrygyd@gmail.com 10 | - Twitter: @kingterrygyd 11 | - Facebook: facebook.com/barbariangyd 12 | - Donation: Donate with PayPal button 13 | 14 | Installation 15 | = 16 | Download and copy the folder Assets/HierarchyHelper/ to your project. 17 | (Optional) Download and copy the folder Assets/HierarchyHelperImplementations/ to your project. 18 | > **_Add issues if you wanna request new implementations_** 19 | 20 | QuickStart 21 | = 22 | Enable Hierarchy Helper System 23 | ``` 24 | 1. press Tools/HierarchyHelper/Open Setting Window to open Setting Window 25 | 2. toggle Enable Helper Sytem 26 | ``` 27 | 28 | Create A GUI Function for a Component 29 | ``` 30 | 1. Create a method without args, ex: public void DrawHelper( ) 31 | 2. add property to the method [HelperInfoAttribute( "categroyName", priority )] 32 | ``` 33 | 34 | Create A GUI Function for a non-Component 35 | ``` 36 | 1. Create a static method with an arg of GameObject, ex: public static void DrawHelper( GameObject obj ) 37 | 2. add property to the method [HelperInfoAttribute( "categroyName2", priority )] 38 | ``` 39 | 40 | Important 41 | ``` 42 | Use HierarchyHelperManager.GetControlRect( width ) to get the correct DrawRect for your draw method. 43 | ``` 44 | 45 | Examples 46 | ``` 47 | Download and copy the folder Assets/HierarchyHelperExmaples/ to your project. 48 | ``` 49 | 50 | FAQ 51 | ``` 52 | 1. Why my helperUIs coverd each other? 53 | A: Use HierarchyHelperManager.GetControlRect( width ) to get the correct DrawRect to draw. 54 | 55 | 2. How to prevent my helperUIs covered by plugin's hierarchy gui items? 56 | A: Assign HierarchyHelperManager.CalculateOffset and calculate how many offsets you need for them. 57 | 58 | 3. Could I add more the one Draw method in one class? 59 | A: YES. 60 | ``` 61 | 62 | Support 63 | = 64 | Email Me, Let's talk :) 65 | 66 | Contributing 67 | = 68 | Your contribution will be licensed under the MIT license for this project. 69 | 70 | --------------------------------------------------------------------------------