예제 #1
0
        public override void OnInspectorGUI()
        {
            var link = (EntityLink)target;

            if (link.Entity != null)
            {
                if (GUILayout.Button("Unlink"))
                {
                    link.Unlink();
                }
            }

            if (link.Entity != null)
            {
                EditorGUILayout.Space();

                EditorGUILayout.LabelField(link.Entity.ToString());

                if (GUILayout.Button("Show entity"))
                {
                    Selection.activeGameObject = FindObjectsOfType <EntityBehaviour>()
                                                 .Single(e => e.Entity == link.Entity).gameObject;
                }

                EditorGUILayout.Space();

                EntityDrawer.DrawEntity(link.Context, link.Entity);
            }
            else
            {
                EditorGUILayout.LabelField("Not linked to an entity");
            }
        }
예제 #2
0
        public override void OnInspectorGUI()
        {
            if (targets.Length == 1)
            {
                var entityBehaviour = (EntityBehaviour)target;
                EntityDrawer.DrawEntity(entityBehaviour.Context, entityBehaviour.Entity);
            }
            else
            {
                var entityBehaviour = (EntityBehaviour)target;
                var entities        = targets
                                      .Select(t => ((EntityBehaviour)t).Entity)
                                      .ToArray();

                EntityDrawer.DrawMultipleEntities(entityBehaviour.Context, entities);
            }

            if (target != null)
            {
                EditorUtility.SetDirty(target);
            }
        }