コード例 #1
0
ファイル: BCRES.cs プロジェクト: LockeExile/Switch-Toolbox
        private void LoadPropertyGrid(object property, BcresEditor bcresEditor, Action OnPropertyChanged)
        {
            STPropertyGrid editor = (STPropertyGrid)bcresEditor.GetActiveEditor(typeof(STPropertyGrid));

            if (editor == null)
            {
                editor      = new STPropertyGrid();
                editor.Dock = DockStyle.Fill;
                bcresEditor.LoadEditor(editor);
            }
            editor.LoadProperty(property, OnPropertyChanged);
        }
コード例 #2
0
ファイル: BCRES.cs プロジェクト: LockeExile/Switch-Toolbox
        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);
            }
        }