Ejemplo n.º 1
0
        private void Start()
        {
            m_parentPopup = GetComponentInParent <PopupWindow>();
            m_parentPopup.OK.AddListener(OnOK);

            RuntimeEditor          runtimeEditor = FindObjectOfType <RuntimeEditor>();
            ProjectResourcesWindow resources     = runtimeEditor.GetComponentInChildren <ProjectResourcesWindow>(true);
            IProjectManager        manager       = Dependencies.ProjectManager;

            if (manager != null)
            {
                ProjectItem[] itemsOfType = manager.Project.FlattenHierarchy();
                itemsOfType = itemsOfType.Where(item => item.TypeName != null && Type.GetType(item.TypeName) != null && ObjectType.IsAssignableFrom(Type.GetType(item.TypeName))).ToArray();

                m_resources                    = Instantiate(resources);
                m_resources.TypeFilter         = ObjectType;
                m_resources.transform.position = Vector3.zero;
                m_resources.transform.SetParent(ObjectsPanel, false);

                manager.GetOrCreateObjects(itemsOfType, objects =>
                {
                    m_resources.SetObjects(objects, true);
                });


                m_resources.DoubleClick      += OnResourcesDoubleClick;
                m_resources.SelectionChanged += OnResourcesSelectionChanged;
                m_resources.TypeFilter        = ObjectType;
            }
        }