com.elestrago.unity.entitas-redux 3.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/CHANGELOG.md +354 -0
  2. package/CHANGELOG.md.meta +7 -0
  3. package/Docs/EntitasReduxAPI.chm +0 -0
  4. package/Docs/EntitasReduxAPI.chm.meta +7 -0
  5. package/Docs/Images/portrait.png +0 -0
  6. package/Docs/Images/portrait.png.meta +91 -0
  7. package/Docs/Images/social_share_image.png +0 -0
  8. package/Docs/Images/social_share_image.png.meta +91 -0
  9. package/Docs/Images.meta +8 -0
  10. package/Docs.meta +8 -0
  11. package/LICENSE.md +21 -0
  12. package/LICENSE.md.meta +7 -0
  13. package/Licenses/LICENSE.txt +21 -0
  14. package/Licenses/LICENSE.txt.meta +7 -0
  15. package/Licenses/SCHMID_LICENSE.txt +22 -0
  16. package/Licenses/SCHMID_LICENSE.txt.meta +7 -0
  17. package/Licenses.meta +8 -0
  18. package/Plugins/EntitasRedux.Command.Generator.dll +0 -0
  19. package/Plugins/EntitasRedux.Command.Generator.dll.meta +89 -0
  20. package/Plugins/EntitasRedux.Core.Generator.dll +0 -0
  21. package/Plugins/EntitasRedux.Core.Generator.dll.meta +89 -0
  22. package/Plugins/EntitasRedux.Core.Libs.dll +0 -0
  23. package/Plugins/EntitasRedux.Core.Libs.dll.meta +75 -0
  24. package/Plugins/EntitasRedux.Core.dll +0 -0
  25. package/Plugins/EntitasRedux.Core.dll.meta +75 -0
  26. package/Plugins.meta +8 -0
  27. package/README.md +106 -0
  28. package/README.md.meta +7 -0
  29. package/Scripts/AssemblyInfo.cs +39 -0
  30. package/Scripts/AssemblyInfo.cs.meta +11 -0
  31. package/Scripts/Blueprints/AssemblyInfo.cs +39 -0
  32. package/Scripts/Blueprints/AssemblyInfo.cs.meta +11 -0
  33. package/Scripts/Blueprints/BlueprintBase.cs +66 -0
  34. package/Scripts/Blueprints/BlueprintBase.cs.meta +11 -0
  35. package/Scripts/Blueprints/BlueprintBehaviourBase.cs +63 -0
  36. package/Scripts/Blueprints/BlueprintBehaviourBase.cs.meta +11 -0
  37. package/Scripts/Blueprints/Editor/AssemblyInfo.cs +35 -0
  38. package/Scripts/Blueprints/Editor/AssemblyInfo.cs.meta +11 -0
  39. package/Scripts/Blueprints/Editor/BlueprintBaseInspector.cs +67 -0
  40. package/Scripts/Blueprints/Editor/BlueprintBaseInspector.cs.meta +11 -0
  41. package/Scripts/Blueprints/Editor/BlueprintBehaviourBaseInspector.cs +67 -0
  42. package/Scripts/Blueprints/Editor/BlueprintBehaviourBaseInspector.cs.meta +11 -0
  43. package/Scripts/Blueprints/Editor/BlueprintInspector.cs +268 -0
  44. package/Scripts/Blueprints/Editor/BlueprintInspector.cs.meta +11 -0
  45. package/Scripts/Blueprints/Editor/EntitasRedux.Blueprints.Editor.asmdef +20 -0
  46. package/Scripts/Blueprints/Editor/EntitasRedux.Blueprints.Editor.asmdef.meta +7 -0
  47. package/Scripts/Blueprints/Editor.meta +8 -0
  48. package/Scripts/Blueprints/EntitasRedux.Blueprints.asmdef +15 -0
  49. package/Scripts/Blueprints/EntitasRedux.Blueprints.asmdef.meta +7 -0
  50. package/Scripts/Blueprints.meta +8 -0
  51. package/Scripts/Core/Utils/UnsubscribeEvent.cs +20 -0
  52. package/Scripts/Core/Utils/UnsubscribeEvent.cs.meta +3 -0
  53. package/Scripts/Core/Utils/UnsubscribeEventExtensions.cs +13 -0
  54. package/Scripts/Core/Utils/UnsubscribeEventExtensions.cs.meta +3 -0
  55. package/Scripts/Core/Utils.meta +3 -0
  56. package/Scripts/Core/View/IEntityHashHolder.cs +7 -0
  57. package/Scripts/Core/View/IEntityHashHolder.cs.meta +3 -0
  58. package/Scripts/Core/View/ILinkable.cs +9 -0
  59. package/Scripts/Core/View/ILinkable.cs.meta +3 -0
  60. package/Scripts/Core/View/Impls/EntityHashHolder.cs +11 -0
  61. package/Scripts/Core/View/Impls/EntityHashHolder.cs.meta +3 -0
  62. package/Scripts/Core/View/Impls/LinkableView.Editor.cs +41 -0
  63. package/Scripts/Core/View/Impls/LinkableView.Editor.cs.meta +3 -0
  64. package/Scripts/Core/View/Impls/LinkableView.cs +99 -0
  65. package/Scripts/Core/View/Impls/LinkableView.cs.meta +3 -0
  66. package/Scripts/Core/View/Impls.meta +3 -0
  67. package/Scripts/Core/View.meta +3 -0
  68. package/Scripts/Core.meta +8 -0
  69. package/Scripts/Editor/AssemblyInfo.cs +39 -0
  70. package/Scripts/Editor/AssemblyInfo.cs.meta +11 -0
  71. package/Scripts/Editor/CreateScriptMenuItems.cs +89 -0
  72. package/Scripts/Editor/CreateScriptMenuItems.cs.meta +11 -0
  73. package/Scripts/Editor/EntitasRedux.Editor.asmdef +18 -0
  74. package/Scripts/Editor/EntitasRedux.Editor.asmdef.meta +7 -0
  75. package/Scripts/Editor/EntitasReduxStyles.cs +65 -0
  76. package/Scripts/Editor/EntitasReduxStyles.cs.meta +11 -0
  77. package/Scripts/Editor/Extensions/ColorExtensions.cs +50 -0
  78. package/Scripts/Editor/Extensions/ColorExtensions.cs.meta +11 -0
  79. package/Scripts/Editor/Extensions/PublicMemberInfoExtensions.cs +60 -0
  80. package/Scripts/Editor/Extensions/PublicMemberInfoExtensions.cs.meta +11 -0
  81. package/Scripts/Editor/Extensions/SerializationTypeExtensions.cs +124 -0
  82. package/Scripts/Editor/Extensions/SerializationTypeExtensions.cs.meta +11 -0
  83. package/Scripts/Editor/Extensions/StringExtensions.cs +141 -0
  84. package/Scripts/Editor/Extensions/StringExtensions.cs.meta +11 -0
  85. package/Scripts/Editor/Extensions/TypeExtensions.cs +216 -0
  86. package/Scripts/Editor/Extensions/TypeExtensions.cs.meta +11 -0
  87. package/Scripts/Editor/Extensions.meta +8 -0
  88. package/Scripts/Editor/Images/EntitasContextErrorHierarchyIcon.png +0 -0
  89. package/Scripts/Editor/Images/EntitasContextErrorHierarchyIcon.png.meta +93 -0
  90. package/Scripts/Editor/Images/EntitasContextHierarchyIcon.png +0 -0
  91. package/Scripts/Editor/Images/EntitasContextHierarchyIcon.png.meta +93 -0
  92. package/Scripts/Editor/Images/EntitasEntityErrorHierarchyIcon.png +0 -0
  93. package/Scripts/Editor/Images/EntitasEntityErrorHierarchyIcon.png.meta +93 -0
  94. package/Scripts/Editor/Images/EntitasEntityHierarchyIcon.png +0 -0
  95. package/Scripts/Editor/Images/EntitasEntityHierarchyIcon.png.meta +93 -0
  96. package/Scripts/Editor/Images/EntitasEntityLinkHierarchyIcon.png +0 -0
  97. package/Scripts/Editor/Images/EntitasEntityLinkHierarchyIcon.png.meta +93 -0
  98. package/Scripts/Editor/Images/EntitasEntityLinkWarnHierarchyIcon.png +0 -0
  99. package/Scripts/Editor/Images/EntitasEntityLinkWarnHierarchyIcon.png.meta +93 -0
  100. package/Scripts/Editor/Images/EntitasHeader.png +0 -0
  101. package/Scripts/Editor/Images/EntitasHeader.png.meta +93 -0
  102. package/Scripts/Editor/Images/EntitasSystemsHierarchyIcon.png +0 -0
  103. package/Scripts/Editor/Images/EntitasSystemsHierarchyIcon.png.meta +93 -0
  104. package/Scripts/Editor/Images/EntitasSystemsWarnHierarchyIcon.png +0 -0
  105. package/Scripts/Editor/Images/EntitasSystemsWarnHierarchyIcon.png.meta +93 -0
  106. package/Scripts/Editor/Images.meta +8 -0
  107. package/Scripts/Editor/Inspector/DefaultInstanceCreator/DefaultArrayCreator.cs +43 -0
  108. package/Scripts/Editor/Inspector/DefaultInstanceCreator/DefaultArrayCreator.cs.meta +11 -0
  109. package/Scripts/Editor/Inspector/DefaultInstanceCreator/DefaultStringCreator.cs +42 -0
  110. package/Scripts/Editor/Inspector/DefaultInstanceCreator/DefaultStringCreator.cs.meta +11 -0
  111. package/Scripts/Editor/Inspector/DefaultInstanceCreator/IDefaultInstanceCreator.cs +36 -0
  112. package/Scripts/Editor/Inspector/DefaultInstanceCreator/IDefaultInstanceCreator.cs.meta +11 -0
  113. package/Scripts/Editor/Inspector/DefaultInstanceCreator.meta +8 -0
  114. package/Scripts/Editor/Inspector/Entity/EntityDrawer.cs +927 -0
  115. package/Scripts/Editor/Inspector/Entity/EntityDrawer.cs.meta +11 -0
  116. package/Scripts/Editor/Inspector/Entity/EntityInspector.cs +57 -0
  117. package/Scripts/Editor/Inspector/Entity/EntityInspector.cs.meta +11 -0
  118. package/Scripts/Editor/Inspector/Entity.meta +8 -0
  119. package/Scripts/Editor/Inspector/IComponentDrawer.cs +36 -0
  120. package/Scripts/Editor/Inspector/IComponentDrawer.cs.meta +11 -0
  121. package/Scripts/Editor/Inspector/TypeDrawer/AnimationCurveTypeDrawer.cs +44 -0
  122. package/Scripts/Editor/Inspector/TypeDrawer/AnimationCurveTypeDrawer.cs.meta +11 -0
  123. package/Scripts/Editor/Inspector/TypeDrawer/ArrayTypeDrawer.cs +282 -0
  124. package/Scripts/Editor/Inspector/TypeDrawer/ArrayTypeDrawer.cs.meta +11 -0
  125. package/Scripts/Editor/Inspector/TypeDrawer/BoolTypeDrawer.cs +43 -0
  126. package/Scripts/Editor/Inspector/TypeDrawer/BoolTypeDrawer.cs.meta +11 -0
  127. package/Scripts/Editor/Inspector/TypeDrawer/BoundsTypeDrawer.cs +44 -0
  128. package/Scripts/Editor/Inspector/TypeDrawer/BoundsTypeDrawer.cs.meta +11 -0
  129. package/Scripts/Editor/Inspector/TypeDrawer/CharTypeDrawer.cs +44 -0
  130. package/Scripts/Editor/Inspector/TypeDrawer/CharTypeDrawer.cs.meta +11 -0
  131. package/Scripts/Editor/Inspector/TypeDrawer/ColorTypeDrawer.cs +44 -0
  132. package/Scripts/Editor/Inspector/TypeDrawer/ColorTypeDrawer.cs.meta +11 -0
  133. package/Scripts/Editor/Inspector/TypeDrawer/DateTimeTypeDrawer.cs +49 -0
  134. package/Scripts/Editor/Inspector/TypeDrawer/DateTimeTypeDrawer.cs.meta +11 -0
  135. package/Scripts/Editor/Inspector/TypeDrawer/DictionaryTypeDrawer.cs +131 -0
  136. package/Scripts/Editor/Inspector/TypeDrawer/DictionaryTypeDrawer.cs.meta +11 -0
  137. package/Scripts/Editor/Inspector/TypeDrawer/DoubleTypeDrawer.cs +43 -0
  138. package/Scripts/Editor/Inspector/TypeDrawer/DoubleTypeDrawer.cs.meta +11 -0
  139. package/Scripts/Editor/Inspector/TypeDrawer/EnumTypeDrawer.cs +48 -0
  140. package/Scripts/Editor/Inspector/TypeDrawer/EnumTypeDrawer.cs.meta +11 -0
  141. package/Scripts/Editor/Inspector/TypeDrawer/FloatTypeDrawer.cs +43 -0
  142. package/Scripts/Editor/Inspector/TypeDrawer/FloatTypeDrawer.cs.meta +11 -0
  143. package/Scripts/Editor/Inspector/TypeDrawer/HashSetTypeDrawer.cs +124 -0
  144. package/Scripts/Editor/Inspector/TypeDrawer/HashSetTypeDrawer.cs.meta +11 -0
  145. package/Scripts/Editor/Inspector/TypeDrawer/ITypeDrawer.cs +36 -0
  146. package/Scripts/Editor/Inspector/TypeDrawer/ITypeDrawer.cs.meta +11 -0
  147. package/Scripts/Editor/Inspector/TypeDrawer/IntTypeDrawer.cs +43 -0
  148. package/Scripts/Editor/Inspector/TypeDrawer/IntTypeDrawer.cs.meta +11 -0
  149. package/Scripts/Editor/Inspector/TypeDrawer/ListTypeDrawer.cs +163 -0
  150. package/Scripts/Editor/Inspector/TypeDrawer/ListTypeDrawer.cs.meta +11 -0
  151. package/Scripts/Editor/Inspector/TypeDrawer/RectTypeDrawer.cs +44 -0
  152. package/Scripts/Editor/Inspector/TypeDrawer/RectTypeDrawer.cs.meta +11 -0
  153. package/Scripts/Editor/Inspector/TypeDrawer/StringTypeDrawer.cs +43 -0
  154. package/Scripts/Editor/Inspector/TypeDrawer/StringTypeDrawer.cs.meta +11 -0
  155. package/Scripts/Editor/Inspector/TypeDrawer/UnityObjectTypeDrawer.cs +49 -0
  156. package/Scripts/Editor/Inspector/TypeDrawer/UnityObjectTypeDrawer.cs.meta +11 -0
  157. package/Scripts/Editor/Inspector/TypeDrawer/Vector2TypeDrawer.cs +44 -0
  158. package/Scripts/Editor/Inspector/TypeDrawer/Vector2TypeDrawer.cs.meta +11 -0
  159. package/Scripts/Editor/Inspector/TypeDrawer/Vector3TypeDrawer.cs +44 -0
  160. package/Scripts/Editor/Inspector/TypeDrawer/Vector3TypeDrawer.cs.meta +11 -0
  161. package/Scripts/Editor/Inspector/TypeDrawer/Vector4TypeDrawer.cs +44 -0
  162. package/Scripts/Editor/Inspector/TypeDrawer/Vector4TypeDrawer.cs.meta +11 -0
  163. package/Scripts/Editor/Inspector/TypeDrawer.meta +8 -0
  164. package/Scripts/Editor/Inspector.meta +8 -0
  165. package/Scripts/Editor/MenuItems.cs +84 -0
  166. package/Scripts/Editor/MenuItems.cs.meta +11 -0
  167. package/Scripts/Editor/PlayModeHelper.cs +75 -0
  168. package/Scripts/Editor/PlayModeHelper.cs.meta +11 -0
  169. package/Scripts/Editor/Reflection/AttributeInfo.cs +44 -0
  170. package/Scripts/Editor/Reflection/AttributeInfo.cs.meta +11 -0
  171. package/Scripts/Editor/Reflection/PublicMemberInfo.cs +95 -0
  172. package/Scripts/Editor/Reflection/PublicMemberInfo.cs.meta +11 -0
  173. package/Scripts/Editor/Reflection.meta +8 -0
  174. package/Scripts/Editor/ScriptTemplates/CleanupSystem.txt +15 -0
  175. package/Scripts/Editor/ScriptTemplates/CleanupSystem.txt.meta +7 -0
  176. package/Scripts/Editor/ScriptTemplates/Component.txt +9 -0
  177. package/Scripts/Editor/ScriptTemplates/Component.txt.meta +7 -0
  178. package/Scripts/Editor/ScriptTemplates/FixedUpdateSystem.txt +15 -0
  179. package/Scripts/Editor/ScriptTemplates/FixedUpdateSystem.txt.meta +7 -0
  180. package/Scripts/Editor/ScriptTemplates/InitializeSystem.txt +15 -0
  181. package/Scripts/Editor/ScriptTemplates/InitializeSystem.txt.meta +7 -0
  182. package/Scripts/Editor/ScriptTemplates/LateUpdateSystem.txt +15 -0
  183. package/Scripts/Editor/ScriptTemplates/LateUpdateSystem.txt.meta +7 -0
  184. package/Scripts/Editor/ScriptTemplates/ReactiveSystem.txt +39 -0
  185. package/Scripts/Editor/ScriptTemplates/ReactiveSystem.txt.meta +7 -0
  186. package/Scripts/Editor/ScriptTemplates/UpdateSystem.txt +15 -0
  187. package/Scripts/Editor/ScriptTemplates/UpdateSystem.txt.meta +7 -0
  188. package/Scripts/Editor/ScriptTemplates.meta +8 -0
  189. package/Scripts/Editor/Tools/ColorTools.cs +59 -0
  190. package/Scripts/Editor/Tools/ColorTools.cs.meta +11 -0
  191. package/Scripts/Editor/Tools/EditorGUILayoutTools.cs +242 -0
  192. package/Scripts/Editor/Tools/EditorGUILayoutTools.cs.meta +11 -0
  193. package/Scripts/Editor/Tools/PlayerSettingsTools.cs +144 -0
  194. package/Scripts/Editor/Tools/PlayerSettingsTools.cs.meta +11 -0
  195. package/Scripts/Editor/Tools/PreferenceTools.cs +116 -0
  196. package/Scripts/Editor/Tools/PreferenceTools.cs.meta +11 -0
  197. package/Scripts/Editor/Tools/RefactorModeTools.cs +85 -0
  198. package/Scripts/Editor/Tools/RefactorModeTools.cs.meta +11 -0
  199. package/Scripts/Editor/Tools/ReflectionTools.cs +33 -0
  200. package/Scripts/Editor/Tools/ReflectionTools.cs.meta +3 -0
  201. package/Scripts/Editor/Tools/ScriptTools.cs +117 -0
  202. package/Scripts/Editor/Tools/ScriptTools.cs.meta +11 -0
  203. package/Scripts/Editor/Tools/SerializationTools.cs +91 -0
  204. package/Scripts/Editor/Tools/SerializationTools.cs.meta +11 -0
  205. package/Scripts/Editor/Tools.meta +8 -0
  206. package/Scripts/Editor/Window/AboutWindow.cs +153 -0
  207. package/Scripts/Editor/Window/AboutWindow.cs.meta +14 -0
  208. package/Scripts/Editor/Window.meta +8 -0
  209. package/Scripts/Editor.meta +8 -0
  210. package/Scripts/EntitasRedux.asmdef +13 -0
  211. package/Scripts/EntitasRedux.asmdef.meta +7 -0
  212. package/Scripts/Entity/EntityBehaviour.cs +82 -0
  213. package/Scripts/Entity/EntityBehaviour.cs.meta +11 -0
  214. package/Scripts/Entity.meta +8 -0
  215. package/Scripts/EntityLink.cs +85 -0
  216. package/Scripts/EntityLink.cs.meta +11 -0
  217. package/Scripts/Extensions/EntityLinkExtension.cs +52 -0
  218. package/Scripts/Extensions/EntityLinkExtension.cs.meta +11 -0
  219. package/Scripts/Extensions.meta +8 -0
  220. package/Scripts/VersionConstants.cs +58 -0
  221. package/Scripts/VersionConstants.cs.meta +11 -0
  222. package/Scripts/VisualDebugging/AssemblyInfo.cs +39 -0
  223. package/Scripts/VisualDebugging/AssemblyInfo.cs.meta +11 -0
  224. package/Scripts/VisualDebugging/ContextObserver/ContextObserver.cs +107 -0
  225. package/Scripts/VisualDebugging/ContextObserver/ContextObserver.cs.meta +11 -0
  226. package/Scripts/VisualDebugging/ContextObserver/ContextObserverBehaviour.cs +60 -0
  227. package/Scripts/VisualDebugging/ContextObserver/ContextObserverBehaviour.cs.meta +11 -0
  228. package/Scripts/VisualDebugging/ContextObserver/ContextObserverExtension.cs +47 -0
  229. package/Scripts/VisualDebugging/ContextObserver/ContextObserverExtension.cs.meta +11 -0
  230. package/Scripts/VisualDebugging/ContextObserver.meta +8 -0
  231. package/Scripts/VisualDebugging/DebugSystems/AvgResetInterval.cs +37 -0
  232. package/Scripts/VisualDebugging/DebugSystems/AvgResetInterval.cs.meta +11 -0
  233. package/Scripts/VisualDebugging/DebugSystems/DebugSystems.cs +477 -0
  234. package/Scripts/VisualDebugging/DebugSystems/DebugSystems.cs.meta +11 -0
  235. package/Scripts/VisualDebugging/DebugSystems/DebugSystemsBehaviour.cs +41 -0
  236. package/Scripts/VisualDebugging/DebugSystems/DebugSystemsBehaviour.cs.meta +11 -0
  237. package/Scripts/VisualDebugging/DebugSystems/SystemInfo.cs +347 -0
  238. package/Scripts/VisualDebugging/DebugSystems/SystemInfo.cs.meta +11 -0
  239. package/Scripts/VisualDebugging/DebugSystems.meta +8 -0
  240. package/Scripts/VisualDebugging/Editor/AssemblyInfo.cs +35 -0
  241. package/Scripts/VisualDebugging/Editor/AssemblyInfo.cs.meta +11 -0
  242. package/Scripts/VisualDebugging/Editor/ContextObserver/ContextObserverInspector.cs +104 -0
  243. package/Scripts/VisualDebugging/Editor/ContextObserver/ContextObserverInspector.cs.meta +11 -0
  244. package/Scripts/VisualDebugging/Editor/ContextObserver.meta +8 -0
  245. package/Scripts/VisualDebugging/Editor/DebugSystems/DebugSystemsBehaviourInspector.cs +709 -0
  246. package/Scripts/VisualDebugging/Editor/DebugSystems/DebugSystemsBehaviourInspector.cs.meta +11 -0
  247. package/Scripts/VisualDebugging/Editor/DebugSystems.meta +8 -0
  248. package/Scripts/VisualDebugging/Editor/EntitasHierarchyIcon.cs +226 -0
  249. package/Scripts/VisualDebugging/Editor/EntitasHierarchyIcon.cs.meta +11 -0
  250. package/Scripts/VisualDebugging/Editor/EntitasRedux.VisualDebugging.Editor.asmdef +21 -0
  251. package/Scripts/VisualDebugging/Editor/EntitasRedux.VisualDebugging.Editor.asmdef.meta +7 -0
  252. package/Scripts/VisualDebugging/Editor/EntitasStats.cs +131 -0
  253. package/Scripts/VisualDebugging/Editor/EntitasStats.cs.meta +11 -0
  254. package/Scripts/VisualDebugging/Editor/EntityLinkInspector.cs +71 -0
  255. package/Scripts/VisualDebugging/Editor/EntityLinkInspector.cs.meta +11 -0
  256. package/Scripts/VisualDebugging/Editor/Graph.cs +234 -0
  257. package/Scripts/VisualDebugging/Editor/Graph.cs.meta +11 -0
  258. package/Scripts/VisualDebugging/Editor/VisualDebugStyles.cs +55 -0
  259. package/Scripts/VisualDebugging/Editor/VisualDebugStyles.cs.meta +11 -0
  260. package/Scripts/VisualDebugging/Editor/VisualDebuggingEntitasExtension.cs +35 -0
  261. package/Scripts/VisualDebugging/Editor/VisualDebuggingEntitasExtension.cs.meta +11 -0
  262. package/Scripts/VisualDebugging/Editor/VisualDebuggingPreferences.cs +188 -0
  263. package/Scripts/VisualDebugging/Editor/VisualDebuggingPreferences.cs.meta +11 -0
  264. package/Scripts/VisualDebugging/Editor.meta +8 -0
  265. package/Scripts/VisualDebugging/EntitasRedux.VisualDebugging.asmdef +18 -0
  266. package/Scripts/VisualDebugging/EntitasRedux.VisualDebugging.asmdef.meta +7 -0
  267. package/Scripts/VisualDebugging/Extensions/GameObjectDestroyExtensions.cs +44 -0
  268. package/Scripts/VisualDebugging/Extensions/GameObjectDestroyExtensions.cs.meta +11 -0
  269. package/Scripts/VisualDebugging/Extensions.meta +8 -0
  270. package/Scripts/VisualDebugging.meta +8 -0
  271. package/Scripts.meta +8 -0
  272. package/package.json +30 -0
  273. package/package.json.meta +7 -0
@@ -0,0 +1,242 @@
1
+ /*
2
+
3
+ MIT License
4
+
5
+ Copyright (c) 2020 Jeff Campbell
6
+
7
+ Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ of this software and associated documentation files (the "Software"), to deal
9
+ in the Software without restriction, including without limitation the rights
10
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ copies of the Software, and to permit persons to whom the Software is
12
+ furnished to do so, subject to the following conditions:
13
+
14
+ The above copyright notice and this permission notice shall be included in
15
+ all copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ THE SOFTWARE.
24
+ */
25
+
26
+ using System;
27
+ using System.IO;
28
+ using System.Linq;
29
+ using UnityEditor;
30
+ using UnityEngine;
31
+
32
+ namespace JCMG.EntitasRedux.Editor
33
+ {
34
+ public static class EditorGUILayoutTools
35
+ {
36
+ private const int DEFAULT_FOLDOUT_MARGIN = 11;
37
+
38
+ public static GUIStyle SectionContent { get; } = new("OL Box")
39
+ {
40
+ stretchHeight = false
41
+ };
42
+
43
+ public static void BeginSectionContent()
44
+ {
45
+ EditorGUILayout.BeginVertical(SectionContent);
46
+ }
47
+
48
+ public static void EndSectionContent()
49
+ {
50
+ EditorGUILayout.EndVertical();
51
+ }
52
+
53
+
54
+ public static Texture2D LoadTexture(string label)
55
+ {
56
+ var assets = AssetDatabase.FindAssets(label);
57
+ if (assets.Length != 0)
58
+ {
59
+ var str = assets[0];
60
+ if (str != null)
61
+ {
62
+ return AssetDatabase.LoadAssetAtPath<Texture2D>(AssetDatabase.GUIDToAssetPath(str));
63
+ }
64
+ }
65
+
66
+ return null;
67
+ }
68
+
69
+ public static bool ObjectFieldButton(string label, string buttonText)
70
+ {
71
+ EditorGUILayout.BeginHorizontal();
72
+ EditorGUILayout.LabelField(
73
+ label,
74
+ GUILayout.Width(146f));
75
+ if (buttonText.Length > 24)
76
+ {
77
+ buttonText = "..." + buttonText.Substring(buttonText.Length - 24);
78
+ }
79
+
80
+ var num = GUILayout.Button(buttonText, EditorStyles.objectField) ? 1 : 0;
81
+ EditorGUILayout.EndHorizontal();
82
+ return num != 0;
83
+ }
84
+
85
+ public static string ObjectFieldOpenFolderPanel(
86
+ string label,
87
+ string buttonText,
88
+ string defaultPath)
89
+ {
90
+ if (!ObjectFieldButton(label, buttonText))
91
+ {
92
+ return null;
93
+ }
94
+
95
+ var path = defaultPath ?? "Assets/";
96
+ if (!Directory.Exists(path))
97
+ {
98
+ path = "Assets/";
99
+ }
100
+
101
+ return EditorUtility.OpenFolderPanel(label, path, string.Empty)
102
+ .Replace(Directory.GetCurrentDirectory() + "/", string.Empty);
103
+ }
104
+
105
+ public static bool MiniButton(string c)
106
+ {
107
+ return MiniButton(c, EditorStyles.miniButton);
108
+ }
109
+
110
+ public static bool MiniButtonLeft(string c)
111
+ {
112
+ return MiniButton(c, EditorStyles.miniButtonLeft);
113
+ }
114
+
115
+ public static bool MiniButtonMid(string c)
116
+ {
117
+ return MiniButton(c, EditorStyles.miniButtonMid);
118
+ }
119
+
120
+ public static bool MiniButtonRight(string c)
121
+ {
122
+ return MiniButton(c, EditorStyles.miniButtonRight);
123
+ }
124
+
125
+ private static bool MiniButton(string c, GUIStyle style)
126
+ {
127
+ GUILayoutOption[] guiLayoutOptionArray1;
128
+ if (c.Length != 1)
129
+ {
130
+ guiLayoutOptionArray1 = new GUILayoutOption[0];
131
+ }
132
+ else
133
+ {
134
+ guiLayoutOptionArray1 = new GUILayoutOption[1]
135
+ {
136
+ GUILayout.Width(19f)
137
+ };
138
+ }
139
+
140
+ var guiLayoutOptionArray2 = guiLayoutOptionArray1;
141
+ var num = GUILayout.Button(c, style, guiLayoutOptionArray2) ? 1 : 0;
142
+ if (num == 0)
143
+ {
144
+ return num != 0;
145
+ }
146
+
147
+ GUI.FocusControl(null);
148
+ return num != 0;
149
+ }
150
+
151
+ public static bool Foldout(bool foldout, string content, GUIStyle style, int leftMargin = 11)
152
+ {
153
+ EditorGUILayout.BeginHorizontal();
154
+ GUILayout.Space(leftMargin);
155
+ foldout = EditorGUILayout.Foldout(foldout, content, style);
156
+ EditorGUILayout.EndHorizontal();
157
+ return foldout;
158
+ }
159
+
160
+ public static string SearchTextField(string searchString)
161
+ {
162
+ var changed = GUI.changed;
163
+ GUILayout.BeginHorizontal();
164
+ searchString = GUILayout.TextField(searchString, GUI.skin.FindStyle("ToolbarSearchTextField"));
165
+ if (GUILayout.Button(string.Empty, GUI.skin.FindStyle("ToolbarSearchCancelButton")))
166
+ {
167
+ searchString = string.Empty;
168
+ }
169
+
170
+ GUILayout.EndHorizontal();
171
+ GUI.changed = changed;
172
+ return searchString;
173
+ }
174
+
175
+ public static bool MatchesSearchString(string str, string search)
176
+ {
177
+ var strArray = search.Split(
178
+ new char[1]
179
+ {
180
+ ' '
181
+ },
182
+ StringSplitOptions.RemoveEmptyEntries);
183
+ return strArray.Length == 0 || strArray.Any(str.Contains);
184
+ }
185
+
186
+ public static bool DrawSectionHeaderToggle(string header, bool value)
187
+ {
188
+ return GUILayout.Toggle(
189
+ value,
190
+ header,
191
+ EntitasReduxStyles.SectionHeader,
192
+ Array.Empty<GUILayoutOption>());
193
+ }
194
+
195
+ public static Rect BeginVerticalBox()
196
+ {
197
+ return EditorGUILayout.BeginVertical(GUI.skin.box);
198
+ }
199
+
200
+ public static void EndVerticalBox()
201
+ {
202
+ EditorGUILayout.EndVertical();
203
+ }
204
+
205
+ public static Texture2D CreateSimpleUITexture2D(Color color)
206
+ {
207
+ const int TEX_DIMENSIONS = 2;
208
+ var tex = new Texture2D(TEX_DIMENSIONS, TEX_DIMENSIONS)
209
+ {
210
+ wrapMode = TextureWrapMode.Repeat
211
+ };
212
+
213
+ for (var x = 0; x < TEX_DIMENSIONS; x++)
214
+ {
215
+ for (var y = 0; y < TEX_DIMENSIONS; y++)
216
+ {
217
+ tex.SetPixel(x, y, color);
218
+ }
219
+ }
220
+
221
+ tex.Apply();
222
+
223
+ return tex;
224
+ }
225
+
226
+ public static void DrawRectWithBorder(
227
+ Rect rect,
228
+ float borderWidth,
229
+ Color innerColor,
230
+ Color borderColor)
231
+ {
232
+ var innerRect = new Rect(rect);
233
+ innerRect.x += borderWidth;
234
+ innerRect.y += borderWidth;
235
+ innerRect.width -= borderWidth * 2;
236
+ innerRect.height -= borderWidth * 2;
237
+
238
+ EditorGUI.DrawRect(rect, borderColor);
239
+ EditorGUI.DrawRect(innerRect, innerColor);
240
+ }
241
+ }
242
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 1d139bf3dcf144343bc68393e3519172
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,144 @@
1
+ /*
2
+
3
+ MIT License
4
+
5
+ Copyright (c) 2020 Jeff Campbell
6
+
7
+ Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ of this software and associated documentation files (the "Software"), to deal
9
+ in the Software without restriction, including without limitation the rights
10
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ copies of the Software, and to permit persons to whom the Software is
12
+ furnished to do so, subject to the following conditions:
13
+
14
+ The above copyright notice and this permission notice shall be included in
15
+ all copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ THE SOFTWARE.
24
+ */
25
+
26
+ using System.Collections.Generic;
27
+ using System.Linq;
28
+ using System.Text;
29
+ using UnityEditor;
30
+
31
+ namespace JCMG.EntitasRedux.Editor
32
+ {
33
+ /// <summary>
34
+ /// Helper methods for <see cref="PlayerSettings"/>.
35
+ /// </summary>
36
+ public static class PlayerSettingsTools
37
+ {
38
+ private static readonly StringBuilder SB;
39
+
40
+ private const char SCRIPTING_SYMBOL_DELIMITER = ';';
41
+
42
+ static PlayerSettingsTools()
43
+ {
44
+ const int STARTING_SIZE = 250;
45
+ SB = new StringBuilder(STARTING_SIZE);
46
+ }
47
+
48
+ /// <summary>
49
+ /// Aggregates all <paramref name="scriptingSymbols"/> into a single string.
50
+ /// </summary>
51
+ /// <param name="scriptingSymbols"></param>
52
+ /// <returns></returns>
53
+ public static string AggregateScriptingSymbols(ICollection<string> scriptingSymbols)
54
+ {
55
+ SB.Clear();
56
+ foreach (var scriptingSymbol in scriptingSymbols)
57
+ {
58
+ SB.Append(scriptingSymbol);
59
+ SB.Append(SCRIPTING_SYMBOL_DELIMITER);
60
+ }
61
+
62
+ return SB.ToString();
63
+ }
64
+
65
+ /// <summary>
66
+ /// Splits all scripting symbols in <paramref name="rawScriptingSymbols"/> into a <see cref="ICollection{T}"/>
67
+ /// of string symbols.
68
+ /// </summary>
69
+ /// <param name="rawScriptingSymbols"></param>
70
+ /// <returns></returns>
71
+ public static ICollection<string> SplitScriptingSymbols(string rawScriptingSymbols)
72
+ {
73
+ return rawScriptingSymbols.Split(SCRIPTING_SYMBOL_DELIMITER).ToList();
74
+ }
75
+
76
+ /// <summary>
77
+ /// Returns true if <paramref name="symbol"/> is defined, otherwise false.
78
+ /// </summary>
79
+ /// <param name="symbol"></param>
80
+ /// <returns></returns>
81
+ public static bool IsScriptingSymbolDefined(string symbol)
82
+ {
83
+ var scriptingSymbols = GetCurrentScriptingSymbols();
84
+ return scriptingSymbols.Contains(symbol);
85
+ }
86
+
87
+ /// <summary>
88
+ /// Adds the passed string as a ScriptingSymbol if it is not present already.
89
+ /// </summary>
90
+ /// <param name="symbol"></param>
91
+ public static void AddScriptingSymbol(string symbol)
92
+ {
93
+ if (IsScriptingSymbolDefined(symbol))
94
+ {
95
+ return;
96
+ }
97
+
98
+ var currentBuildGroup = EditorUserBuildSettings.selectedBuildTargetGroup;
99
+ var scriptingSymbolStr = PlayerSettings.GetScriptingDefineSymbolsForGroup(currentBuildGroup);
100
+
101
+ // Add the new symbol to the list of symbols, always ensuring there is a semi-colon separating all symbols
102
+ if (string.IsNullOrEmpty(scriptingSymbolStr))
103
+ {
104
+ scriptingSymbolStr = string.Format("{0}", symbol);
105
+ }
106
+ else if (scriptingSymbolStr[scriptingSymbolStr.Length - 1] == SCRIPTING_SYMBOL_DELIMITER)
107
+ {
108
+ scriptingSymbolStr += string.Format("{0}", symbol);
109
+ }
110
+ else
111
+ {
112
+ scriptingSymbolStr += string.Format(";{0}", symbol);
113
+ }
114
+
115
+ PlayerSettings.SetScriptingDefineSymbolsForGroup(currentBuildGroup, scriptingSymbolStr);
116
+ }
117
+
118
+ /// <summary>
119
+ /// Removes the passed string as a ScriptingSymbol if it is present.
120
+ /// </summary>
121
+ /// <param name="symbol"></param>
122
+ public static void RemoveScriptingSymbol(string symbol)
123
+ {
124
+ if (!IsScriptingSymbolDefined(symbol))
125
+ {
126
+ return;
127
+ }
128
+
129
+ var scriptingSymbols = GetCurrentScriptingSymbols();
130
+ scriptingSymbols.Remove(symbol);
131
+
132
+ var newScriptingSymbols = AggregateScriptingSymbols(scriptingSymbols);
133
+ var currentBuildGroup = EditorUserBuildSettings.selectedBuildTargetGroup;
134
+ PlayerSettings.SetScriptingDefineSymbolsForGroup(currentBuildGroup, newScriptingSymbols);
135
+ }
136
+
137
+ public static ICollection<string> GetCurrentScriptingSymbols()
138
+ {
139
+ var currentBuildGroup = EditorUserBuildSettings.selectedBuildTargetGroup;
140
+ var scriptingSymbolStr = PlayerSettings.GetScriptingDefineSymbolsForGroup(currentBuildGroup);
141
+ return SplitScriptingSymbols(scriptingSymbolStr);
142
+ }
143
+ }
144
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: b25557079d6f5aa418940949f558ac9b
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,116 @@
1
+ /*
2
+
3
+ MIT License
4
+
5
+ Copyright (c) 2020 Jeff Campbell
6
+
7
+ Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ of this software and associated documentation files (the "Software"), to deal
9
+ in the Software without restriction, including without limitation the rights
10
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ copies of the Software, and to permit persons to whom the Software is
12
+ furnished to do so, subject to the following conditions:
13
+
14
+ The above copyright notice and this permission notice shall be included in
15
+ all copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ THE SOFTWARE.
24
+ */
25
+
26
+ using UnityEditor;
27
+ using UnityEngine;
28
+
29
+ namespace JCMG.EntitasRedux.Editor
30
+ {
31
+ /// <summary>
32
+ /// Helper methods for <see cref="EditorPrefs"/>.
33
+ /// </summary>
34
+ public static class PreferenceTools
35
+ {
36
+ /// <summary>
37
+ /// Returns the current int preference; if none exists, the default is set and returned.
38
+ /// </summary>
39
+ /// <param name="key"></param>
40
+ /// <param name="defaultValue"></param>
41
+ /// <returns></returns>
42
+ public static int GetIntPref(string key, int defaultValue)
43
+ {
44
+ if (!EditorPrefs.HasKey(key))
45
+ {
46
+ EditorPrefs.SetInt(key, defaultValue);
47
+ }
48
+
49
+ return EditorPrefs.GetInt(key);
50
+ }
51
+
52
+ /// <summary>
53
+ /// Returns the current float preference; if none exists, the default is set and returned.
54
+ /// </summary>
55
+ /// <param name="key"></param>
56
+ /// <param name="defaultValue"></param>
57
+ /// <returns></returns>
58
+ public static float GetFloatPref(string key, float defaultValue)
59
+ {
60
+ if (!EditorPrefs.HasKey(key))
61
+ {
62
+ EditorPrefs.SetFloat(key, defaultValue);
63
+ }
64
+
65
+ return EditorPrefs.GetFloat(key);
66
+ }
67
+
68
+ /// <summary>
69
+ /// Returns the current string preference; if none exists, the default is set and returned.
70
+ /// </summary>
71
+ /// <param name="key"></param>
72
+ /// <param name="defaultValue"></param>
73
+ /// <returns></returns>
74
+ public static string GetStringPref(string key, string defaultValue)
75
+ {
76
+ if (!EditorPrefs.HasKey(key))
77
+ {
78
+ EditorPrefs.SetString(key, defaultValue);
79
+ }
80
+
81
+ return EditorPrefs.GetString(key);
82
+ }
83
+
84
+ /// <summary>
85
+ /// Returns the current bool preference; if none exists, the default is set and returned.
86
+ /// </summary>
87
+ /// <param name="key"></param>
88
+ /// <param name="defaultValue"></param>
89
+ /// <returns></returns>
90
+ public static bool GetBoolPref(string key, bool defaultValue)
91
+ {
92
+ if (!EditorPrefs.HasKey(key))
93
+ {
94
+ EditorPrefs.SetBool(key, defaultValue);
95
+ }
96
+
97
+ return EditorPrefs.GetBool(key);
98
+ }
99
+
100
+ /// <summary>
101
+ /// Returns the current Color preference; if none exists, the default is set and returned.
102
+ /// </summary>
103
+ /// <param name="key"></param>
104
+ /// <param name="defaultValue"></param>
105
+ /// <returns></returns>
106
+ public static Color GetColorPref(string key, Color defaultValue)
107
+ {
108
+ if (!EditorPrefs.HasKey(key))
109
+ {
110
+ EditorPrefs.SetString(key, defaultValue.ToHexWithAlpha());
111
+ }
112
+
113
+ return ColorTools.FromHex(EditorPrefs.GetString(key));
114
+ }
115
+ }
116
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 21ebb63aad7c0b842b57c9e98b4ac06b
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,85 @@
1
+ /*
2
+
3
+ MIT License
4
+
5
+ Copyright (c) 2020 Jeff Campbell
6
+
7
+ Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ of this software and associated documentation files (the "Software"), to deal
9
+ in the Software without restriction, including without limitation the rights
10
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ copies of the Software, and to permit persons to whom the Software is
12
+ furnished to do so, subject to the following conditions:
13
+
14
+ The above copyright notice and this permission notice shall be included in
15
+ all copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ THE SOFTWARE.
24
+ */
25
+
26
+ using UnityEditor;
27
+ using UnityEngine;
28
+
29
+ namespace JCMG.EntitasRedux.Editor
30
+ {
31
+ /// <summary>
32
+ /// Helper methods for refactor mode
33
+ /// </summary>
34
+ internal static class RefactorModeTools
35
+ {
36
+ private const string SCRIPTING_SYMBOL = "ENTITAS_REDUX_NO_IMPL";
37
+ private const string ENABLED_REFACTOR_MODE_MSG = "[EntitasRedux] Enabled refactor mode...";
38
+ private const string DISABLED_REFACTOR_MODE_MSG = "[EntitasRedux] Disabled refactor mode...";
39
+
40
+ /// <summary>
41
+ /// Returns true if refactor mode is enabled, otherwise false.
42
+ /// </summary>
43
+ public static bool IsRefactorModeEnabled()
44
+ {
45
+ #if ENTITAS_REDUX_NO_IMPL
46
+ return true;
47
+ #else
48
+ return false;
49
+ #endif
50
+ }
51
+
52
+ /// <summary>
53
+ /// Enables refactor mode by adding a unique scripting symbol `ENTITAS_REDUX_NO_IMPL` to
54
+ /// <see cref="PlayerSettings"/> if not already present.
55
+ /// </summary>
56
+ public static void EnableRefactorMode()
57
+ {
58
+ if (EditorApplication.isCompiling)
59
+ {
60
+ return;
61
+ }
62
+
63
+ PlayerSettingsTools.AddScriptingSymbol(SCRIPTING_SYMBOL);
64
+
65
+ Debug.Log(ENABLED_REFACTOR_MODE_MSG);
66
+
67
+ }
68
+
69
+ /// <summary>
70
+ /// Enables refactor mode by removing a unique scripting symbol `ENTITAS_REDUX_NO_IMPL` from
71
+ /// <see cref="PlayerSettings"/> if present.
72
+ /// </summary>
73
+ internal static void DisableRefactorMode()
74
+ {
75
+ if (EditorApplication.isCompiling)
76
+ {
77
+ return;
78
+ }
79
+
80
+ PlayerSettingsTools.RemoveScriptingSymbol(SCRIPTING_SYMBOL);
81
+
82
+ Debug.Log(DISABLED_REFACTOR_MODE_MSG);
83
+ }
84
+ }
85
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 5baf48fad16b0ef439027c363cc5b187
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,33 @@
1
+ using System;
2
+ using System.Collections.Generic;
3
+ using System.Linq;
4
+
5
+ namespace JCMG.EntitasRedux.Editor
6
+ {
7
+ public static class ReflectionTools
8
+ {
9
+ /// <summary>
10
+ /// Returns an IEnumerable of class instances of Types that implement V.
11
+ /// </summary>
12
+ /// <typeparam name="T">the Type a class must implement</typeparam>
13
+ /// <returns></returns>
14
+ public static IEnumerable<T> GetAllImplementingInstancesOfInterface<T>()
15
+ {
16
+ var objects = new List<T>();
17
+ foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies())
18
+ {
19
+ foreach (var type in assembly.GetTypes()
20
+ .Where(
21
+ myType => myType.IsClass &&
22
+ !myType.IsAbstract &&
23
+ !myType.IsGenericType &&
24
+ myType.GetInterfaces().Contains(typeof(T))))
25
+ {
26
+ objects.Add((T)Activator.CreateInstance(type));
27
+ }
28
+ }
29
+
30
+ return objects;
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,3 @@
1
+ fileFormatVersion: 2
2
+ guid: 4cb409f3272f45dfbeb8f8e48a2c79bd
3
+ timeCreated: 1722336839