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); } }
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); } }
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); } }