diff --git a/src/Buildin/UnityComponent.cs b/src/Buildin/UnityComponent.cs index b498839..a01d518 100644 --- a/src/Buildin/UnityComponent.cs +++ b/src/Buildin/UnityComponent.cs @@ -78,7 +78,7 @@ namespace DCFApixels.DragonECS public override string Name { get { return typeof(T).GetMeta().Name; } } public override MetaGroup Group { get { return UnityComponentConsts.BaseGroup; } } public override MetaColor? Color { get { return MetaColor.DragonCyan; } } - public override MetaDescription Description { get { return new MetaDescription(AUTHOR, $"IEcsComponent component. Holds a reference to a Unity {Name} component."); } } + public override MetaDescription Description { get { return new MetaDescription(AUTHOR, $"Template for IEcsComponent component. Holds a reference to a Unity {Name} component."); } } public UnityComponentMetaProxy(Type type) : base(type) { } } } diff --git a/src/Buildin/UnityGameCyclieProcesses.cs b/src/Buildin/UnityGameCyclieProcesses.cs index 4b93692..a2c6bfb 100644 --- a/src/Buildin/UnityGameCyclieProcesses.cs +++ b/src/Buildin/UnityGameCyclieProcesses.cs @@ -52,7 +52,6 @@ namespace DCFApixels.DragonECS.Unity.Internal { [MetaColor(MetaColor.DragonRose)] [MetaGroup(EcsUnityConsts.PACK_GROUP, EcsConsts.PROCESSES_GROUP)] - [MetaDescription(EcsConsts.AUTHOR, "...")] [MetaTags(MetaTags.HIDDEN)] [MetaID("DragonECS_2DD8BC809201633E2761D5AEF65B7090")] public class EcsLateGizmosRunner : EcsRunner, IEcsGizmos @@ -70,7 +69,6 @@ namespace DCFApixels.DragonECS.Unity.Internal [MetaColor(MetaColor.DragonRose)] [MetaGroup(EcsUnityConsts.PACK_GROUP, EcsConsts.PROCESSES_GROUP)] - [MetaDescription(EcsConsts.AUTHOR, "...")] [MetaTags(MetaTags.HIDDEN)] [MetaID("DragonECS_EDE8BC809201603B47C3A9D1EFD4EE95")] public class EcsLateRunRunner : EcsRunner, IEcsLateRun @@ -88,7 +86,6 @@ namespace DCFApixels.DragonECS.Unity.Internal [MetaColor(MetaColor.DragonRose)] [MetaGroup(EcsUnityConsts.PACK_GROUP, EcsConsts.PROCESSES_GROUP)] - [MetaDescription(EcsConsts.AUTHOR, "...")] [MetaTags(MetaTags.HIDDEN)] [MetaID("DragonECS_45F7BC809201866AA05F6DC096A47F01")] public class EcsFixedRunRunner : EcsRunner, IEcsFixedRun diff --git a/src/DebugUtils/Editor/SettingsEditor.cs b/src/DebugUtils/Editor/SettingsEditor.cs index 889425c..522ee51 100644 --- a/src/DebugUtils/Editor/SettingsEditor.cs +++ b/src/DebugUtils/Editor/SettingsEditor.cs @@ -41,30 +41,23 @@ namespace DCFApixels.DragonECS.Unity.Editors rect.xMin += 9f; GUI.Label(rect, "User Settings", EditorStyles.whiteLargeLabel); - //using (prefs.DisableAutoSave()) - { - prefs.IsShowHidden = EditorGUILayout.ToggleLeft( - UnityEditorUtility.TransformFieldName(nameof(UserSettingsPrefs.IsShowHidden)), - prefs.IsShowHidden); + prefs.IsShowHidden = EditorGUILayout.ToggleLeft( + UnityEditorUtility.TransformFieldName(nameof(UserSettingsPrefs.IsShowHidden)), + prefs.IsShowHidden); - prefs.IsShowInterfaces = EditorGUILayout.ToggleLeft( - UnityEditorUtility.TransformFieldName(nameof(UserSettingsPrefs.IsShowInterfaces)), - prefs.IsShowInterfaces); + prefs.IsShowInterfaces = EditorGUILayout.ToggleLeft( + UnityEditorUtility.TransformFieldName(nameof(UserSettingsPrefs.IsShowInterfaces)), + prefs.IsShowInterfaces); - prefs.IsShowRuntimeComponents = EditorGUILayout.ToggleLeft( - UnityEditorUtility.TransformFieldName(nameof(UserSettingsPrefs.IsShowRuntimeComponents)), - prefs.IsShowRuntimeComponents); + prefs.IsShowRuntimeComponents = EditorGUILayout.ToggleLeft( + UnityEditorUtility.TransformFieldName(nameof(UserSettingsPrefs.IsShowRuntimeComponents)), + prefs.IsShowRuntimeComponents); - prefs.IsUseCustomNames = EditorGUILayout.ToggleLeft( - UnityEditorUtility.TransformFieldName(nameof(UserSettingsPrefs.IsUseCustomNames)), - prefs.IsUseCustomNames); + prefs.IsUseCustomNames = EditorGUILayout.ToggleLeft( + UnityEditorUtility.TransformFieldName(nameof(UserSettingsPrefs.IsUseCustomNames)), + prefs.IsUseCustomNames); - //prefs.IsFastModeRuntimeComponents = EditorGUILayout.ToggleLeft( - // UnityEditorUtility.TransformFieldName(nameof(UserSettingsPrefs.IsFastModeRuntimeComponents)), - // prefs.IsFastModeRuntimeComponents); - - prefs.ComponentColorMode = (ComponentColorMode)EditorGUILayout.EnumPopup(UnityEditorUtility.TransformFieldName(nameof(UserSettingsPrefs.ComponentColorMode)), prefs.ComponentColorMode); - } + prefs.ComponentColorMode = (ComponentColorMode)EditorGUILayout.EnumPopup(UnityEditorUtility.TransformFieldName(nameof(UserSettingsPrefs.ComponentColorMode)), prefs.ComponentColorMode); GUILayout.EndVertical(); diff --git a/src/DebugUtils/Editor/UserSettingsPrefs.cs b/src/DebugUtils/Editor/UserSettingsPrefs.cs index 6d5eb4c..dbc6a8f 100644 --- a/src/DebugUtils/Editor/UserSettingsPrefs.cs +++ b/src/DebugUtils/Editor/UserSettingsPrefs.cs @@ -83,20 +83,20 @@ namespace DCFApixels.DragonECS.Unity.Editors } } } - //[SerializeField] - //private bool _isFastModeRuntimeComponents = false; - //public bool IsFastModeRuntimeComponents - //{ - // get => _isFastModeRuntimeComponents; - // set - // { - // if (_isFastModeRuntimeComponents != value) - // { - // _isFastModeRuntimeComponents = value; - // AutoSave(); - // } - // } - //} + [SerializeField] + private bool _isShowWrappedMemberMeta = true; + public bool IsShowWrappedMemberMeta + { + get => _isShowWrappedMemberMeta; + set + { + if (_isShowWrappedMemberMeta != value) + { + _isShowWrappedMemberMeta = value; + AutoSave(); + } + } + } [SerializeField] private ComponentColorMode _componentColorMode = ComponentColorMode.Auto; diff --git a/src/Internal/Editor/MetaObjectsDropDown.cs b/src/Internal/Editor/MetaObjectsDropDown.cs index d8725a0..a463cdc 100644 --- a/src/Internal/Editor/MetaObjectsDropDown.cs +++ b/src/Internal/Editor/MetaObjectsDropDown.cs @@ -101,8 +101,16 @@ namespace DCFApixels.DragonECS.Unity.Editors } } - internal class DragonFieldCahce + internal class DragonFieldCahce : ITypeMeta { + Type ITypeMeta.Type => Meta.Type; + string ITypeMeta.Name => Meta.Name; + MetaColor ITypeMeta.Color => Meta.Color; + MetaDescription ITypeMeta.Description => Meta.Description; + MetaGroup ITypeMeta.Group => Meta.Group; + IReadOnlyList ITypeMeta.Tags => Meta.Tags; + ITypeMeta ITypeMeta.BaseMeta => Meta; + internal static Type[] All => UnityEditorUtility._serializableTypes; internal static HashSet AllDict; internal static Dictionary RuntimeDict; @@ -161,9 +169,7 @@ namespace DCFApixels.DragonECS.Unity.Editors { if (_meta == null) { - { - _meta = Type.GetMeta(); - } + _meta = Type.GetMeta(); } return _meta; } @@ -199,6 +205,7 @@ namespace DCFApixels.DragonECS.Unity.Editors return _defaultValueDummy; } } + public DragonFieldCahce(Type type) { Type = type; diff --git a/src/Templates/EntityTemplate/Templates/ComponentTemplateBase.cs b/src/Templates/EntityTemplate/Templates/ComponentTemplateBase.cs index f809f6b..b3ea979 100644 --- a/src/Templates/EntityTemplate/Templates/ComponentTemplateBase.cs +++ b/src/Templates/EntityTemplate/Templates/ComponentTemplateBase.cs @@ -48,8 +48,10 @@ namespace DCFApixels.DragonECS } [Serializable] - [MetaProxy(typeof(ComponentTemplateMetaProxy))] [DragonMemberWrapper("component")] + [MetaColor(MetaColor.DragonCyan)] + [MetaGroup(EcsUnityConsts.PACK_GROUP, EcsConsts.OTHER_GROUP)] + [MetaProxy(typeof(ComponentTemplateMetaProxy))] public abstract class ComponentTemplateBase : IComponentTemplate { #region Properties diff --git a/src/Tools/DragonDocs/Editors/DragonDocsWindow.cs b/src/Tools/DragonDocs/Editors/DragonDocsWindow.cs index 66c5156..6a53dcc 100644 --- a/src/Tools/DragonDocs/Editors/DragonDocsWindow.cs +++ b/src/Tools/DragonDocs/Editors/DragonDocsWindow.cs @@ -1,6 +1,7 @@ #if UNITY_EDITOR using DCFApixels.DragonECS.Unity.Editors; using DCFApixels.DragonECS.Unity.Internal; +using DCFApixels.DragonECS.Unity.RefRepairer.Editors; using System; using UnityEditor; using UnityEngine; @@ -57,6 +58,25 @@ namespace DCFApixels.DragonECS.Unity.Docs.Editors private void OnGUI() { Event current = Event.current; + int moveSign = 0; + if (hasFocus && current.type == EventType.KeyUp && current.isKey) + { + if(current.keyCode == KeyCode.DownArrow) + { + moveSign = 1; + } + if (current.keyCode == KeyCode.UpArrow) + { + moveSign = -1; + } + } + _selectedIndex += moveSign; + if(moveSign != 0) + { + Repaint(); + return; + } + DragonDocs docs = DragonDocsPrefs.instance.Docs; if (docs == null || docs.Metas.IsEmpty) { @@ -79,7 +99,6 @@ namespace DCFApixels.DragonECS.Unity.Docs.Editors _selectedIndex = 0; } - DrawToolbar(); GUILayout.BeginHorizontal(GUILayout.ExpandHeight(true)); diff --git a/src/Utils/InspectorAttributes.cs b/src/Utils/InspectorAttributes.cs index 7ad5525..e88bc36 100644 --- a/src/Utils/InspectorAttributes.cs +++ b/src/Utils/InspectorAttributes.cs @@ -39,7 +39,6 @@ namespace DCFApixels.DragonECS.Unity namespace DCFApixels.DragonECS.Unity.Editors { using UnityEditor; - using UnityEngine.Serialization; [CustomPropertyDrawer(typeof(ReferenceDropDownAttribute), true)] [CustomPropertyDrawer(typeof(DragonMetaBlockAttribute), true)] @@ -294,15 +293,12 @@ namespace DCFApixels.DragonECS.Unity.Editors { if (info != null) { - meta = info.ComponentType.GetMeta(); + meta = info.Type.GetMeta(); } - else + else if (mrNull == false) { - if (mrNull == false) - { - var type = GetCachedManagedType(property); - meta = type.GetMeta(); - } + var type = GetCachedManagedType(property); + meta = type.GetMeta(); } }