Пример #1
0
        private void PrefabCtrl_OnSelectedActorsChanged(object sender, List <GActor> actors)
        {
            //bool haveInvisible = false;
            List <GActor> showActors = new List <GActor>();

            for (int i = 0; i < actors.Count; ++i)
            {
                if (actors[i] != null)
                {
                    if (!(actors[i].Tag is EditorCommon.Controls.Outliner.InvisibleInOutliner))
                    {
                        showActors.Add(actors[i]);
                    }
                    else
                    {
                        //haveInvisible = true;
                    }
                }
            }
            mPreviewSceneControl.PreviewActorList = showActors;
            if (showActors == null || showActors.Count == 0)
            {
                ComsCtrl.Visibility = Visibility.Collapsed;
            }
            else
            {
                ComsCtrl.Visibility = Visibility.Visible;
                ComsCtrl.SetActors(showActors);
            }
        }
Пример #2
0
        private void ViewPort_OnSelectAcotrs(object sender, EditorCommon.ViewPort.ViewPortControl.SelectActorData[] e)
        {
            if (sender != mPreviewSceneControl.ViewPort)
            {
                return;
            }
            //bool haveInvisible = false;
            List <GActor> actors = new List <GActor>();

            for (int i = 0; i < e.Length; ++i)
            {
                if (e[i].Actor != null)
                {
                    if (!(e[i].Actor.Tag is EditorCommon.Controls.Outliner.InvisibleInOutliner))
                    {
                        actors.Add(e[i].Actor);
                    }
                    else
                    {
                        //haveInvisible = true;
                    }
                }
            }
            mPreviewSceneControl.PreviewActorList = actors;
            if (actors == null || actors.Count == 0)
            {
                ComsCtrl.Visibility = Visibility.Collapsed;
            }
            else
            {
                ComsCtrl.Visibility = Visibility.Visible;
                ComsCtrl.SetActors(actors);
            }
        }
Пример #3
0
        public async System.Threading.Tasks.Task SetObjectToEdit(ResourceEditorContext context)
        {
            await EngineNS.Thread.AsyncDummyClass.DummyFunc();

            var info = context.ResInfo as EditorCommon.ResourceInfos.PrefabResourceInfo;

            if (mCurrentResourceInfo == null || mCurrentResourceInfo.ResourceName != info.ResourceName)
            {
                mCurrentResourceInfo = info;
                SetBinding(TitleProperty, new Binding("ResourceName")
                {
                    Source = context.ResInfo, Converter = new EditorCommon.Converter.RNameConverter_PureName()
                });
                IconBrush = context.ResInfo.ResourceTypeBrush;
                await mPreviewSceneControl.Initialize(mSceneName);

                mPreviewSceneControl.ViewPort.CanDragIn          = false;
                mPreviewSceneControl.ViewPort.CanDuplicatePrefab = false;
                Prefab = await CEngine.Instance.PrefabManager.GetPrefab(CEngine.Instance.RenderContext, mCurrentResourceInfo.ResourceName, true);

                ProGrid_PreviewScene.Instance = mPreviewSceneControl;
                //mPrefabHolder.World = mPreviewSceneControl.PreviewWorld;
                var item = PrefabCtrl.BindingPrefab(Prefab);
                item.IsExpanded = true;
                PrefabCtrl.SetViewPort(mPreviewSceneControl.ViewPort);
                //mPreviewSceneControl.PreviewActorList.Add(mPrefabHolder.Prefab);
                mPreviewSceneControl.ViewPort.FocusShow(mPreviewSceneControl.PreviewActorList);
                List <GActor> list = new List <GActor>();
                ComsCtrl.SetActor(Prefab);
                mPreviewSceneControl.AddUniqueActor(Prefab);
                CEngine.Instance.TickManager.AddTickInfo(this);
            }
        }