12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- //------------------------------------------------------------
- // Game Framework
- // Copyright © 2013-2021 loyalsoft. All rights reserved.
- // Homepage: http://www.game7000.com/
- // Feedback: http://www.game7000.com/
- //------------------------------------------------------------
- using GameFramework;
- using GameFramework.Entity;
- using UnityEditor;
- using UnityGameFramework.Runtime;
- namespace UnityGameFramework.Editor
- {
- [CustomEditor(typeof(EntityComponent))]
- internal sealed class EntityComponentInspector : GameFrameworkInspector
- {
- private SerializedProperty m_EnableShowEntityUpdateEvent = null;
- private SerializedProperty m_EnableShowEntityDependencyAssetEvent = null;
- private SerializedProperty m_InstanceRoot = null;
- private SerializedProperty m_EntityGroups = null;
- private HelperInfo<EntityHelperBase> m_EntityHelperInfo = new HelperInfo<EntityHelperBase>("Entity");
- private HelperInfo<EntityGroupHelperBase> m_EntityGroupHelperInfo = new HelperInfo<EntityGroupHelperBase>("EntityGroup");
- public override void OnInspectorGUI()
- {
- base.OnInspectorGUI();
- serializedObject.Update();
- EntityComponent t = (EntityComponent)target;
- EditorGUI.BeginDisabledGroup(EditorApplication.isPlayingOrWillChangePlaymode);
- {
- EditorGUILayout.PropertyField(m_EnableShowEntityUpdateEvent);
- EditorGUILayout.PropertyField(m_EnableShowEntityDependencyAssetEvent);
- EditorGUILayout.PropertyField(m_InstanceRoot);
- m_EntityHelperInfo.Draw();
- m_EntityGroupHelperInfo.Draw();
- EditorGUILayout.PropertyField(m_EntityGroups, true);
- }
- EditorGUI.EndDisabledGroup();
- if (EditorApplication.isPlaying && IsPrefabInHierarchy(t.gameObject))
- {
- EditorGUILayout.LabelField("Entity Group Count", t.EntityGroupCount.ToString());
- EditorGUILayout.LabelField("Entity Count (Total)", t.EntityCount.ToString());
- IEntityGroup[] entityGroups = t.GetAllEntityGroups();
- foreach (IEntityGroup entityGroup in entityGroups)
- {
- EditorGUILayout.LabelField(Utility.Text.Format("Entity Count ({0})", entityGroup.Name), entityGroup.EntityCount.ToString());
- }
- }
- serializedObject.ApplyModifiedProperties();
- Repaint();
- }
- protected override void OnCompileComplete()
- {
- base.OnCompileComplete();
- RefreshTypeNames();
- }
- private void OnEnable()
- {
- m_EnableShowEntityUpdateEvent = serializedObject.FindProperty("m_EnableShowEntityUpdateEvent");
- m_EnableShowEntityDependencyAssetEvent = serializedObject.FindProperty("m_EnableShowEntityDependencyAssetEvent");
- m_InstanceRoot = serializedObject.FindProperty("m_InstanceRoot");
- m_EntityGroups = serializedObject.FindProperty("m_EntityGroups");
- m_EntityHelperInfo.Init(serializedObject);
- m_EntityGroupHelperInfo.Init(serializedObject);
- RefreshTypeNames();
- }
- private void RefreshTypeNames()
- {
- m_EntityHelperInfo.Refresh();
- m_EntityGroupHelperInfo.Refresh();
- serializedObject.ApplyModifiedProperties();
- }
- }
- }
|