Пример #1
0
        public VisualElement Build(InspectorDataProxy <Entity> proxy)
        {
            m_ObjectField = new ObjectField {
                label = proxy.Name
            };
            m_ObjectField.RegisterValueChangedCallback(evt => ValueChanged(proxy, evt));
            m_WorldManager   = proxy.Session.GetManager <IWorldManager>();
            m_AssetManager   = proxy.Session.GetManager <IAssetManager>();
            m_ComponentCache = proxy.Session.GetManager <IUnityComponentCacheManager>();

            // TODO: Find correct mapping
            var withComponents = proxy.GetAttribute <EntityWithComponentsAttribute>();

            if (null != withComponents)
            {
                m_ObjectField.objectType = DomainCache.GetAssetType(withComponents.Types.FirstOrDefault());
                m_SimpleMode             = false;
            }

            // Revert back to very generic
            if (null == m_ObjectField.objectType)
            {
                m_ObjectField.objectType = typeof(EntityReference);
                m_SimpleMode             = true;
            }
            return(m_ObjectField);
        }