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,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 01477d22f219f544a93cb555d4d38341
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,35 @@
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.Reflection;
27
+
28
+ [assembly: AssemblyCompany("Jeff Campbell")]
29
+ [assembly: AssemblyFileVersion("2.1.0")]
30
+ [assembly: AssemblyInformationalVersion("2.1.0+7.Branch.develop.Sha.21ee36e5c2bfc83d5c03aa0da164adbc40f7b20e")]
31
+ [assembly: AssemblyProduct("EntitasRedux.Blueprints.Editor")]
32
+ [assembly: AssemblyTitle("EntitasRedux.Blueprints.Editor")]
33
+ [assembly: AssemblyMetadata("RepositoryUrl", "https://github.com/jeffcampbellmakesgames/Entitas-Redux.git")]
34
+
35
+ [assembly: AssemblyVersion("2.1.0")]
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: fa73889f5827c274cb1536d7cd087729
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,67 @@
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
+
28
+ namespace JCMG.EntitasRedux.Blueprints.Editor
29
+ {
30
+ [CustomEditor(typeof(BlueprintBase), editorForChildClasses:true)]
31
+ internal sealed class BlueprintBaseInspector : BlueprintInspector
32
+ {
33
+ private BlueprintBase _blueprintBase;
34
+
35
+ protected override void OnEnable()
36
+ {
37
+ // Get blueprint type info
38
+ _blueprintBase = (BlueprintBase)target;
39
+
40
+ base.OnEnable();
41
+ }
42
+
43
+ public override void OnInspectorGUI()
44
+ {
45
+ DrawComponentSelectorGUI(_blueprintBase.Components, OnComponentAdded);
46
+ DrawComponentArrayGUI(_blueprintBase.Components);
47
+ }
48
+
49
+ private void OnComponentAdded()
50
+ {
51
+ _blueprintBase.Validate();
52
+
53
+ EditorUtility.SetDirty(target);
54
+ }
55
+
56
+ protected override void OnComponentRemoved(IComponent component)
57
+ {
58
+ // If the component was removed, set the target as dirty.
59
+ if (_blueprintBase.Components.Remove(component))
60
+ {
61
+ _blueprintBase.Validate();
62
+
63
+ EditorUtility.SetDirty(target);
64
+ }
65
+ }
66
+ }
67
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 8b339ff8bf5d7724284eec2476bd9feb
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,67 @@
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
+
28
+ namespace JCMG.EntitasRedux.Blueprints.Editor
29
+ {
30
+ [CustomEditor(typeof(BlueprintBehaviourBase), editorForChildClasses:true)]
31
+ internal sealed class BlueprintBehaviourBaseInspector : BlueprintInspector
32
+ {
33
+ private BlueprintBehaviourBase _blueprintBehaviourBase;
34
+
35
+ protected override void OnEnable()
36
+ {
37
+ // Get blueprint type info
38
+ _blueprintBehaviourBase = (BlueprintBehaviourBase)target;
39
+
40
+ base.OnEnable();
41
+ }
42
+
43
+ public override void OnInspectorGUI()
44
+ {
45
+ DrawComponentSelectorGUI(_blueprintBehaviourBase.Components, OnComponentAdded);
46
+ DrawComponentArrayGUI(_blueprintBehaviourBase.Components);
47
+ }
48
+
49
+ private void OnComponentAdded()
50
+ {
51
+ _blueprintBehaviourBase.Validate();
52
+
53
+ EditorUtility.SetDirty(target);
54
+ }
55
+
56
+ protected override void OnComponentRemoved(IComponent component)
57
+ {
58
+ // If the component was removed, set the target as dirty.
59
+ if (_blueprintBehaviourBase.Components.Remove(component))
60
+ {
61
+ _blueprintBehaviourBase.Validate();
62
+
63
+ EditorUtility.SetDirty(target);
64
+ }
65
+ }
66
+ }
67
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 183660a3944d482419438dbf1bc6f34f
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,268 @@
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.Collections.Generic;
28
+ using System.Linq;
29
+ using System.Reflection;
30
+ using JCMG.EntitasRedux.Editor;
31
+ using UnityEditor;
32
+ using UnityEngine;
33
+
34
+ namespace JCMG.EntitasRedux.Blueprints.Editor
35
+ {
36
+ public abstract class BlueprintInspector : UnityEditor.Editor
37
+ {
38
+ /// <summary>
39
+ /// Returns true if the context has any valid components that can be selected in the inspector, otherwise false.
40
+ /// </summary>
41
+ protected bool ContextHasSerializableComponents => _componentTypes.Length > 0 ||
42
+ _componentDisplayNames.Length > 0 ||
43
+ _componentInfo.Length > 0;
44
+
45
+ private static readonly IEnumerable<Assembly> ASSEMBLIES;
46
+
47
+ private int _selectedComponentIndex;
48
+ private Type _targetType;
49
+ private string _contextName;
50
+ private Type[] _componentTypes;
51
+ private string[] _componentDisplayNames;
52
+ private int _totalNumberOfComponents;
53
+ private EntityDrawer.ComponentInfo[] _componentInfo;
54
+
55
+ // UI
56
+ private const string ADD_BUTTON_TEXT = "Add";
57
+ private const string NO_VALID_COMPONENTS_WARNING =
58
+ "There are not any serializable components with a default constructor for the context [{0}]. Only components " +
59
+ "that meet that criteria will be available for blueprint usage.";
60
+
61
+ static BlueprintInspector()
62
+ {
63
+ ASSEMBLIES = AppDomain.CurrentDomain.GetAssemblies();
64
+ }
65
+
66
+ protected virtual void OnEnable()
67
+ {
68
+ // Get blueprint type info
69
+ _targetType = target.GetType();
70
+ _contextName = GetContextNameFromBlueprintType(_targetType);
71
+
72
+ // Get all possible serializable components info for the context this blueprint is associated with
73
+ GetComponentInfo(
74
+ _contextName,
75
+ out _componentTypes,
76
+ out _componentDisplayNames,
77
+ out _componentInfo,
78
+ out _totalNumberOfComponents);
79
+ }
80
+
81
+ protected void DrawComponentArrayGUI(List<IComponent> components)
82
+ {
83
+ var unfoldedComponents = EntityDrawer.GetUnfoldedComponents(_contextName, _totalNumberOfComponents);
84
+ for (var i = 0; i < components.Count; i++)
85
+ {
86
+ var index = GetComponentIndex(components[i]);
87
+ if (components[i] == null || index == -1)
88
+ {
89
+ continue;
90
+ }
91
+
92
+ EntityDrawer.DrawComponent(
93
+ unfoldedComponents,
94
+ _contextName,
95
+ _totalNumberOfComponents,
96
+ index,
97
+ components[i],
98
+ OnComponentRemoved,
99
+ OnComponentChanged);
100
+ }
101
+ }
102
+
103
+ protected void DrawComponentSelectorGUI(List<IComponent> components, Action onComponentAdded)
104
+ {
105
+ if (!ContextHasSerializableComponents)
106
+ {
107
+ EditorGUILayout.HelpBox(string.Format(NO_VALID_COMPONENTS_WARNING, _contextName), MessageType.Warning);
108
+ }
109
+ else
110
+ {
111
+ using (new EditorGUILayout.HorizontalScope())
112
+ {
113
+ // Select a component type specific to this blueprint's context.
114
+ _selectedComponentIndex = EditorGUILayout.Popup(_selectedComponentIndex, _componentDisplayNames);
115
+
116
+ // Add component if not already present in the blueprint.
117
+ using (new EditorGUI.DisabledScope(
118
+ HasComponentType(
119
+ components,
120
+ _componentTypes[_selectedComponentIndex])))
121
+ {
122
+ if (GUILayout.Button(ADD_BUTTON_TEXT))
123
+ {
124
+ var componentInstance = Activator.CreateInstance(_componentTypes[_selectedComponentIndex]);
125
+ components.Add((IComponent)componentInstance);
126
+
127
+ onComponentAdded?.Invoke();
128
+ }
129
+ }
130
+ }
131
+ }
132
+ }
133
+
134
+ /// <summary>
135
+ /// Retrieves the component index for <paramref name="component"/> based on its type and presence in the context's
136
+ /// component lookup. If a valid index cannot be found, an assertion is thrown.
137
+ /// </summary>
138
+ /// <param name="component"></param>
139
+ /// <returns></returns>
140
+ protected int GetComponentIndex(IComponent component)
141
+ {
142
+ var result = -1;
143
+ var componentType = component.GetType();
144
+ for (var i = 0; i < _componentInfo.Length; i++)
145
+ {
146
+ if (componentType != _componentInfo[i].type)
147
+ {
148
+ continue;
149
+ }
150
+
151
+ result = _componentInfo[i].index;
152
+ }
153
+
154
+ return result;
155
+ }
156
+
157
+ /// <summary>
158
+ /// Returns true if a <see cref="IComponent"/> instance of <paramref name="componentType"/> exists in
159
+ /// <paramref name="components"/>, otherwise false.
160
+ /// </summary>
161
+ /// <param name="components"></param>
162
+ /// <param name="componentType"></param>
163
+ /// <returns></returns>
164
+ protected bool HasComponentType(List<IComponent> components, Type componentType)
165
+ {
166
+ var result = false;
167
+ for (var i = 0; i < components.Count; i++)
168
+ {
169
+ if (components[i].GetType() != componentType)
170
+ {
171
+ continue;
172
+ }
173
+
174
+ result = true;
175
+ break;
176
+ }
177
+
178
+ return result;
179
+ }
180
+
181
+ protected void GetComponentInfo(string contextTypeName,
182
+ out Type[] componentTypes,
183
+ out string[] componentDisplayNames,
184
+ out EntityDrawer.ComponentInfo[] componentInfo,
185
+ out int totalNumberOfComponents)
186
+ {
187
+ // Get static component lookup type for the context this blueprint is associated with
188
+ var componentLookupTypeName = GetContextLookupTypeNameFromContextName(contextTypeName);
189
+ var componentLookupType = GetTypeByName(componentLookupTypeName);
190
+
191
+ const string COMPONENT_NAMES_MEMBER_NAME = "ComponentNames";
192
+ const string COMPONENT_TYPES_MEMBER_NAME = "ComponentTypes";
193
+
194
+ // Get component names
195
+ var componentNamesMemberInfo = componentLookupType.GetField(
196
+ COMPONENT_NAMES_MEMBER_NAME,
197
+ BindingFlags.Public | BindingFlags.Static);
198
+ var allComponentDisplayNames = (string[])componentNamesMemberInfo.GetValue(null);
199
+
200
+ // Get component types
201
+ var componentTypesMemberInfo = componentLookupType.GetField(
202
+ COMPONENT_TYPES_MEMBER_NAME,
203
+ BindingFlags.Public | BindingFlags.Static);
204
+ var allComponentTypes = (Type[])componentTypesMemberInfo.GetValue(null);
205
+
206
+ // Regardless of how many components we end up filtering down to for a developer to be able to add
207
+ // the total number of components always reflects the total for the context.
208
+ totalNumberOfComponents = allComponentTypes.Length;
209
+
210
+ // Filter down these lists to only those components that we can instantiate and serialize
211
+ var componentTypesList = new List<Type>();
212
+ var componentDisplayNamesList = new List<string>();
213
+ var componentInfoList = new List<EntityDrawer.ComponentInfo>();
214
+ for (var i = 0; i < allComponentTypes.Length; i++)
215
+ {
216
+ // If our component type is not serializable OR does not provide a default constructor, don't enable
217
+ // selection of it.
218
+ if (!allComponentTypes[i].IsSerializable ||
219
+ allComponentTypes[i].GetConstructor(Type.EmptyTypes) == null)
220
+ {
221
+ continue;
222
+ }
223
+
224
+ componentTypesList.Add(allComponentTypes[i]);
225
+ componentDisplayNamesList.Add(allComponentDisplayNames[i]);
226
+ componentInfoList.Add(new EntityDrawer.ComponentInfo()
227
+ {
228
+ index = i,
229
+ name = allComponentDisplayNames[i],
230
+ type = allComponentTypes[i]
231
+ });
232
+ }
233
+
234
+ componentTypes = componentTypesList.ToArray();
235
+ componentDisplayNames = componentDisplayNamesList.ToArray();
236
+ componentInfo = componentInfoList.ToArray();
237
+ }
238
+
239
+ protected string GetContextNameFromBlueprintType(Type type)
240
+ {
241
+ const string BLUEPRINT_BEHAVIOR_SUFFIX = "BlueprintBehaviour";
242
+ const string BLUEPRINT_SUFFIX = "Blueprint";
243
+
244
+ return type.Name
245
+ .Replace(BLUEPRINT_BEHAVIOR_SUFFIX, string.Empty)
246
+ .Replace(BLUEPRINT_SUFFIX, string.Empty);
247
+ }
248
+
249
+ protected string GetContextLookupTypeNameFromContextName(string contextName)
250
+ {
251
+ const string COMPONENTS_LOOKUP_SUFFIX = "ComponentsLookup";
252
+
253
+ return contextName + COMPONENTS_LOOKUP_SUFFIX;
254
+ }
255
+
256
+ protected Type GetTypeByName(string typeName)
257
+ {
258
+ return ASSEMBLIES.SelectMany(x => x.GetTypes()).FirstOrDefault(y => y.Name == typeName);
259
+ }
260
+
261
+ protected abstract void OnComponentRemoved(IComponent component);
262
+
263
+ protected void OnComponentChanged()
264
+ {
265
+ EditorUtility.SetDirty(target);
266
+ }
267
+ }
268
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: e9ba48580babcab45b4d1f11b9b68959
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,20 @@
1
+ {
2
+ "name": "EntitasRedux.Blueprints.Editor",
3
+ "references": [
4
+ "GUID:e27c5a73d7af115488fbcb097f6442da",
5
+ "GUID:53bc2da9556d30547913e5a8aa819794",
6
+ "GUID:4f86ea35524e99d4fb2177e6a10dfbff",
7
+ "GUID:f362ddc593ff9b646b7b6dedd1c86c91"
8
+ ],
9
+ "includePlatforms": [
10
+ "Editor"
11
+ ],
12
+ "excludePlatforms": [],
13
+ "allowUnsafeCode": false,
14
+ "overrideReferences": false,
15
+ "precompiledReferences": [],
16
+ "autoReferenced": true,
17
+ "defineConstraints": [],
18
+ "versionDefines": [],
19
+ "noEngineReferences": false
20
+ }
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: 2170e84bcc501964b9ed2c3547a9ed36
3
+ AssemblyDefinitionImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
@@ -0,0 +1,8 @@
1
+ fileFormatVersion: 2
2
+ guid: 28ce49d7d5034354fb12e78df171481b
3
+ folderAsset: yes
4
+ DefaultImporter:
5
+ externalObjects: {}
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "EntitasRedux.Blueprints",
3
+ "references": [
4
+ "GUID:53bc2da9556d30547913e5a8aa819794"
5
+ ],
6
+ "includePlatforms": [],
7
+ "excludePlatforms": [],
8
+ "allowUnsafeCode": false,
9
+ "overrideReferences": false,
10
+ "precompiledReferences": [],
11
+ "autoReferenced": true,
12
+ "defineConstraints": [],
13
+ "versionDefines": [],
14
+ "noEngineReferences": false
15
+ }
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: f362ddc593ff9b646b7b6dedd1c86c91
3
+ AssemblyDefinitionImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
@@ -0,0 +1,8 @@
1
+ fileFormatVersion: 2
2
+ guid: 0a9067553b0c0714284ba1b868799c42
3
+ folderAsset: yes
4
+ DefaultImporter:
5
+ externalObjects: {}
6
+ userData:
7
+ assetBundleName:
8
+ assetBundleVariant:
@@ -0,0 +1,20 @@
1
+ using System;
2
+
3
+ namespace JCMG.EntitasRedux.Core.Utils
4
+ {
5
+ public class UnsubscribeEvent : IUnsubscribeEvent
6
+ {
7
+ public event Action Value;
8
+
9
+ public void Clear()
10
+ {
11
+ Value?.Invoke();
12
+ Value = null;
13
+ }
14
+ }
15
+
16
+ public interface IUnsubscribeEvent
17
+ {
18
+ event Action Value;
19
+ }
20
+ }
@@ -0,0 +1,3 @@
1
+ fileFormatVersion: 2
2
+ guid: b07e7461736e4e0e922ac0177723ceb2
3
+ timeCreated: 1678487489
@@ -0,0 +1,13 @@
1
+ using System;
2
+
3
+ namespace JCMG.EntitasRedux.Core.Utils
4
+ {
5
+ public static class UnsubscribeEventExtensions
6
+ {
7
+ public static IDisposable AddTo(this IDisposable disposable, IUnsubscribeEvent unsubscribe)
8
+ {
9
+ unsubscribe.Value += disposable.Dispose;
10
+ return disposable;
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,3 @@
1
+ fileFormatVersion: 2
2
+ guid: 8c9e182590544717a4755da46f9f806f
3
+ timeCreated: 1678487883
@@ -0,0 +1,3 @@
1
+ fileFormatVersion: 2
2
+ guid: 823e28aebd324636ab22d6c8d563ed6a
3
+ timeCreated: 1678487365
@@ -0,0 +1,7 @@
1
+ namespace JCMG.EntitasRedux.Core.View
2
+ {
3
+ public interface IEntityHashHolder
4
+ {
5
+ int Hash { get; }
6
+ }
7
+ }
@@ -0,0 +1,3 @@
1
+ fileFormatVersion: 2
2
+ guid: ac60246603f24c2b9017c35c3bbc8905
3
+ timeCreated: 1678266058
@@ -0,0 +1,9 @@
1
+ namespace JCMG.EntitasRedux.Core.View
2
+ {
3
+ public interface ILinkable : IEntityHashHolder
4
+ {
5
+ void Link(IEntity entity);
6
+
7
+ void Unlink();
8
+ }
9
+ }
@@ -0,0 +1,3 @@
1
+ fileFormatVersion: 2
2
+ guid: 71a4dce040eb49d6a633836814c61db9
3
+ timeCreated: 1678266058
@@ -0,0 +1,11 @@
1
+ using UnityEngine;
2
+
3
+ namespace JCMG.EntitasRedux.Core.View.Impls
4
+ {
5
+ public class EntityHashHolder : MonoBehaviour, IEntityHashHolder
6
+ {
7
+ public Transform EntityTransform;
8
+
9
+ public int Hash => EntityTransform.GetHashCode();
10
+ }
11
+ }
@@ -0,0 +1,3 @@
1
+ fileFormatVersion: 2
2
+ guid: 0d46634e0ae840bf9e636cd4ebadc54f
3
+ timeCreated: 1678266564