Example #1
0
        private void OnCloseProjectCompleted(Error error)
        {
            if (error.HasError)
            {
                m_windowManager.MessageBox("Can't close project", error.ToString());
                return;
            }

            m_projectTree.LoadProject(null);
            m_projectTree.SelectedFolder = null;
            m_projectResources.SetItems(null, null, true);
        }
Example #2
0
        private void OnCloseProjectCompleted(Error error)
        {
            if (error.HasError)
            {
                m_windowManager.MessageBox(m_localization.GetString("ID_RTEditor_ProjectView_CantCloseProject", "Can't close project"), error.ToString());
                return;
            }

            m_projectTree.LoadProject(null);
            m_projectTree.SelectedItem = null;
            m_projectResources.SetItems(null, null, true);
        }
Example #3
0
        private void OnCloseProjectCompleted(Error error)
        {
            if (error.HasError)
            {
                PopupWindow.Show("Can't close project", error.ToString(), "OK");
                return;
            }

            m_projectTree.LoadProject(null);
            m_projectTree.SelectedFolder = null;
            m_projectResources.SetItems(null, null, true);
        }
Example #4
0
        //private bool CanDuplicate(ProjectItemObjectPair itemObjectPair)
        //{
        //    ProjectItem projectItem = itemObjectPair.ProjectItem;

        //    if (projectItem.TypeCode == ProjectItemTypes.Texture)
        //    {
        //        return (itemObjectPair.Object as Texture2D).IsReadable();
        //    }
        //    else if (projectItem.TypeCode == ProjectItemTypes.ProceduralMaterial)
        //    {
        //        return false; //unable to duplicate procedural materials
        //    }

        //    return projectItem != null && (!projectItem.IsExposedFromEditor || !projectItem.IsFolder);
        //}


        //private ProjectItemObjectPair[] GetSelection(bool checkIfCanDuplicate)
        //{

        //    ProjectItemObjectPair[] selection = m_projectResources.SelectionToProjectItemObjectPair(m_projectResources.SelectedItems);
        //    if (selection == null)
        //    {
        //        return new ProjectItemObjectPair[0];
        //    }
        //    selection = selection.Where(iop => iop.ProjectItem != null && (!checkIfCanDuplicate || CanDuplicate(iop))).ToArray();
        //    if (selection.Length == 0)
        //    {
        //        return new ProjectItemObjectPair[0];
        //    }

        //    return selection;
        //}

        //private void DuplicateProjectResources()
        //{
        //    ProjectItemObjectPair[] selection = GetSelection(true);

        //    if (selection.Length == 0)
        //    {
        //        return;
        //    }

        //    ShowProgress = true;
        //    m_projectManager.SaveObjects(selection.Where(iop => iop.IsResource).ToArray(), () =>
        //    {
        //        m_projectManager.Duplicate(selection.Select(p => p.ProjectItem).ToArray(), duplicatedItems =>
        //        {
        //            ProjectItem parent = null;
        //            for (int i = 0; i < selection.Length; ++i)
        //            {
        //                parent = selection[i].ProjectItem.Parent;
        //                if (parent != null)
        //                {
        //                    ProjectItem duplicatedItem = duplicatedItems[i];
        //                    if (duplicatedItem.IsFolder)
        //                    {
        //                        m_projectTree.AddProjectItem(duplicatedItem, parent);
        //                        m_projectTree.DropProjectItem(duplicatedItem, parent);
        //                    }
        //                    else
        //                    {
        //                        parent.AddChild(duplicatedItem);
        //                    }
        //                }
        //            }

        //            if (parent != null)
        //            {
        //                m_projectTree.SelectedFolder = parent;
        //            }

        //            m_projectManager.GetOrCreateObjects(m_projectTree.SelectedFolder, objects =>
        //            {
        //                ShowProgress = false;

        //                m_projectResources.SetSelectedItems(objects, duplicatedItems);
        //                m_projectResources.SetObjects(objects, false);

        //                if(m_projectResources.SelectedItems != null)
        //                {
        //                    RuntimeSelection.objects = m_projectResources.SelectedItems.Where(o => o != null).ToArray();
        //                }
        //            });
        //        });
        //    });
        //}

        //private void OnBundledResourcesAdded(object sender, ProjectManagerEventArgs e)
        //{
        //    ShowProgress = true;
        //    OnResourcesAdded(e);
        //}

        //private void OnDynamicResourcesAdded(object sender, ProjectManagerEventArgs e)
        //{
        //    ShowProgress = true;
        //    OnResourcesAdded(e);
        //}

        //private void OnResourcesAdded(ProjectManagerEventArgs e)
        //{
        //    ProjectItemObjectPair[] selection = GetSelection(false);
        //    m_projectManager.SaveObjects(selection.Where(iop => iop.IsResource).ToArray(), () =>
        //    {
        //        m_projectManager.GetOrCreateObjects(m_projectTree.SelectedFolder, objects =>
        //        {
        //            ShowProgress = false;

        //            m_projectResources.SetSelectedItems(objects, e.ProjectItems.Take(1).ToArray());
        //            m_projectResources.SetObjects(objects, false);

        //            if (m_projectResources.SelectedItems != null)
        //            {
        //                RuntimeSelection.activeObject = m_projectResources.SelectedItems.Where(o => o != null).FirstOrDefault();
        //            }
        //        });
        //    });
        //}

        //private void OnSceneCreated(object sender, ProjectManagerEventArgs e)
        //{
        //    ShowProgress = true;
        //    m_projectManager.GetOrCreateObjects(m_projectTree.SelectedFolder, objects =>
        //    {
        //        ShowProgress = false;
        //        m_projectResources.SetObjects(objects, false);
        //    });
        //}

        //private void OnSceneSaved(object sender, ProjectManagerEventArgs e)
        //{
        //    ShowProgress = true;
        //    m_projectManager.GetOrCreateObjects(m_projectTree.SelectedFolder, objects =>
        //    {
        //        ShowProgress = false;
        //        m_projectResources.SetObjects(objects, false);
        //    });
        //}


        //private void OnSceneLoaded(object sender, ProjectManagerEventArgs e)
        //{
        //    ShowProgress = true;
        //    m_projectManager.GetOrCreateObjects(m_projectTree.SelectedFolder, objects =>
        //    {
        //        ShowProgress = false;
        //        m_projectResources.SetObjects(objects, false);
        //    });
        //}

        //private void OnProjectResourcesSelectionChanged(object sender, SelectionChangedArgs<ProjectItemObjectPair> e)
        //{
        //    if (e.IsUserAction)
        //    {
        //        RuntimeSelection.objects = e.NewItems.Where(p => p.Object != null).Select(p => p.Object).ToArray();
        //    }

        //    ProjectItemObjectPair[] unselected = e.OldItems;
        //    if (unselected != null)
        //    {
        //        unselected = unselected.Where(
        //            p => p.IsResource &&
        //            // do not save mesh each time it unselected
        //            p.ProjectItem.TypeCode != ProjectItemTypes.Mesh &&
        //            p.ProjectItem.TypeCode != ProjectItemTypes.Texture
        //            ).ToArray();
        //        if (unselected.Length != 0)
        //        {
        //            ShowProgress = true;
        //            m_projectManager.SaveObjects(unselected, () =>
        //            {
        //                ShowProgress = false;
        //            });
        //        }
        //    }

        //    UpdateCanDuplicateButtonState(e.NewItem);
        //}

        //private void UpdateCanDuplicateButtonState(ProjectItemObjectPair itemObjectPair)
        //{
        //    if (m_btnDuplicate != null)
        //    {
        //        if (itemObjectPair == null)
        //        {
        //            m_btnDuplicate.gameObject.SetActive(false);
        //        }
        //        else
        //        {
        //            m_btnDuplicate.gameObject.SetActive(CanDuplicate(itemObjectPair));
        //        }
        //    }
        //}

        private void OnProjectTreeSelectionChanged(object sender, SelectionChangedArgs <ProjectItem> e)
        {
            if (m_btnAddFolder != null)
            {
                m_btnAddFolder.gameObject.SetActive(e.NewItem != null);
            }

            ShowProgress = true;
            m_project.GetAssetItems(e.NewItems, (error, assets) =>
            {
                ShowProgress = false;
                if (error.HasError)
                {
                    PopupWindow.Show("Can't GetAssets", error.ToString(), "OK");
                    return;
                }

                StartCoroutine(CreatePreviewForLoadedResources(assets));
                m_projectResources.SetItems(assets, true);
            });


            // m_project.GetAssets()

            /*
             * m_projectManager.SaveObjects(GetSelection(false).Where(
             *  iop => iop.IsResource &&
             *  // do not save mesh each time it unselected
             *  //iop.ProjectItem.TypeCode != ProjectItemTypes.Texture &&
             *  iop.ProjectItem.TypeCode != ProjectItemTypes.Mesh
             *  ).ToArray(), () =>
             * {
             *  m_projectManager.GetOrCreateObjects(e.NewItems, objects =>
             *  {
             *      ShowProgress = false;
             *      m_projectResources.SetObjects(objects, true);
             *
             *      UpdateCanDuplicateButtonState(GetSelection(true).FirstOrDefault());
             *
             *  });
             * });
             */
        }