示例#1
0
        public void LoadURL()
        {
            AssetViewer instance = AssetViewer.GetInstance();

            instance.LoadObject(this.UsePATH);
        }
        private void AttachTreeViewEventHandlers()
        {
            treeView.BeforeLabelEdit += (@s, e) =>
            {
                if (e.Node.Parent == null)
                {
                    e.CancelEdit = true;
                }
                if (e.Node.Tag is int)
                {
                    e.CancelEdit = true;
                }
            };
            treeView.AfterLabelEdit += (@s, e) =>
            {
                if (e.Node.Tag is AssetBase)
                {
                    if (e.Label == null)
                    {
                        return;
                    }
                    if (String.IsNullOrWhiteSpace(e.Label))
                    {
                        e.Node.EndEdit(false);
                    }

                    StudioCore.Instance.Project.RenameAsset(e.Node.Text, e.Label);
                }
            };

            treeView.AfterSelect += (@s, e) =>
            {
                if (e.Node.Tag is AssetBase)
                {
                    var asset = e.Node.Tag as AssetBase;

                    StudioCore.Instance.RequestUpdate(UpdateScope.Preview, PreviewWindow.UPDATE_TARGET,
                                                      new [] { e.Node.Tag, 0 });

                    if (AssetViewer.GetInstance(asset) != null)
                    {
                        StudioCore.Instance.RequestUpdate(UpdateScope.AssetViewer, asset.ID, -1);
                    }
                }
                if (e.Node.Tag is int && e.Node.Parent.Tag is AssetBase)
                {
                    var asset = e.Node.Parent.Tag as AssetBase;
                    var index = (Int32)e.Node.Tag;

                    StudioCore.Instance.RequestUpdate(UpdateScope.Preview, PreviewWindow.UPDATE_TARGET, new[] { e.Node.Parent.Tag, index });

                    if (AssetViewer.GetInstance(asset) != null)
                    {
                        StudioCore.Instance.RequestUpdate(UpdateScope.AssetViewer, asset.ID, index);
                    }
                }
            };

            treeView.DoubleClick += (@s, e) =>
            {
                if (treeView.SelectedNode == null)
                {
                    return;
                }

                var asset = treeView.SelectedNode.Tag as AssetBase;
                if (asset != null && asset.Error == null)
                {
                    StudioCore.Instance.ViewAsset(asset);
                }
            };
        }
示例#3
0
        /// <summary>
        /// Opens the specified asset in the asset viewer.
        /// </summary>
        /// <param name="asset"></param>
        public void ViewAsset(AssetBase asset)
        {
            var viewer = AssetViewer.GetInstance(asset);

            MainForm.Instance.PushDockableWindow(viewer, DockState.Document);
        }