public override void OnClick(TreeView treeView) { if (Runtime.UseOpenGL) { if (viewport == null) { viewport = new Viewport(ObjectEditor.GetDrawableContainers()); viewport.Dock = DockStyle.Fill; } if (!DrawablesLoaded) { ObjectEditor.AddContainer(DrawableContainer); DrawablesLoaded = true; } viewport.ReloadDrawables(DrawableContainer); LibraryGUI.LoadEditor(viewport); viewport.Text = Text; } }
public void LoadEditors(TreeNode Wrapper, Action OnPropertyChanged) { BcresEditor bcresEditor = (BcresEditor)LibraryGUI.GetActiveContent(typeof(BcresEditor)); bool HasModels = RenderedBcres.Models.Count > 0; if (bcresEditor == null) { bcresEditor = new BcresEditor(HasModels); bcresEditor.Dock = DockStyle.Fill; LibraryGUI.LoadEditor(bcresEditor); } if (!DrawablesLoaded) { ObjectEditor.AddContainer(DrawableContainer); for (int m = 0; m < RenderedBcres.Models.Count; m++) { if (RenderedBcres.Models[m].Skeleton.Renderable != null) { DrawableContainer.Drawables.Add(RenderedBcres.Models[m].Skeleton.Renderable); } } DrawablesLoaded = true; } if (Runtime.UseOpenGL) { bcresEditor.LoadViewport(this, DrawableContainer); } if (Wrapper is BcresTextureMapWrapper) { BcresSamplerEditorSimple editor = (BcresSamplerEditorSimple)bcresEditor.GetActiveEditor(typeof(BcresSamplerEditorSimple)); if (editor == null) { editor = new BcresSamplerEditorSimple(); editor.Dock = DockStyle.Fill; bcresEditor.LoadEditor(editor); } editor.LoadTexture(((BcresTextureMapWrapper)Wrapper)); } else if (Wrapper is BCRES) { LoadPropertyGrid(((BCRES)Wrapper).BcresFile, bcresEditor, OnPropertyChanged); } else if (Wrapper is MTOBWrapper) { LoadPropertyGrid(((MTOBWrapper)Wrapper).Material, bcresEditor, OnPropertyChanged); } else if (Wrapper is CMDLWrapper) { LoadPropertyGrid(((CMDLWrapper)Wrapper).Model, bcresEditor, OnPropertyChanged); } else if (Wrapper is CRESBoneWrapper) { LoadPropertyGrid(((CRESBoneWrapper)Wrapper).Bone, bcresEditor, OnPropertyChanged); } else if (Wrapper is CRESSkeletonWrapper) { LoadPropertyGrid(((CRESSkeletonWrapper)Wrapper).Skeleton, bcresEditor, OnPropertyChanged); } }