(原)自定义资源预览工具:DZAssetPreviewPlugin(1)
@author: 白袍小道
转载请说明,谢谢
题记
后续工具制作单独作为一本(小道用的是OneNote,这样发布简单点。*--*)
总计放到写完后。
目的
1、快速预览资源(因为大部分那啥,CH只是查看资源的信息)
2、重要的:熟悉编辑部分代码,熟悉资源相关部分,顺带对其他模块。。。
说明:
1、大部分写法和套路:都可以从Unreal源码推理和分析而来
2、理清后:标注关键的地方,如
TShareXXX, SNEW,SWidghtComp, FEditorViewportClient,,,etc
效果

代码结构

结构说明
1、DZAssetPreviewPlugin:
作为插件入口类,包含插件模块的注册和注销。这里注册时候,绑定的点击。
实现打开窗口:(为了快速,用FLag保证只有一个窗口,并且只有MaterialPreview页签),预估会有几种不同资源的预览。
【后续改为窗口多标签】

2、MaterialPreview
2.1 IDZMaterialPreview 和 FDZMaterialPreview
IDZMaterialPreview:为外部接口,预留扩展
FDZMaterialPreview: 完成页签下功能中间,数据交流,GC,刷新等部分,
(class FDZMaterialPreview : public IDZMaterialPreview, public FGCObject, public FTickableGameObject, public FNotifyHook)
2.1.1两个S的构建
应该是

2.1.2:注册和绑定Tab

其中InTabManager: 在这里,就简单使用FGlobalTabManager(按理应该单独的,具体可以参考FAssetToolEditor,Unreal的资源编辑基本都包含。但基本都是需要先给资源)
2.1.3切入

3.Detail

4.ViewPort

源码地址:
https://github.com/daozhangXDZ/DZAssetPreviewPlugin
问题:
DaoZhang_XDZ@163.com
版权声明:本文为博主原创文章,未经博主允许不得转载
(原)自定义资源预览工具:DZAssetPreviewPlugin(1)的更多相关文章
- SVG-Android开源库——SVG生成Vector资源文件的编辑预览工具
Vector矢量图在Android项目中的应用越来越广泛,但是如果你想用Android Studio自带的工具将SVG图片转化成Vector资源文件却是相当麻烦,首先能支持的SVG规范较少,其次操作流 ...
- Xamarin.Forms第三方XAML预览工具-LiveXAML简单体验
截至目前,Xamarin官方的Xaml Previewer工具仍然处于测试阶段,使用中也发现了各种不便,例如各种莫名其妙的渲染失败,或者提示需要编译项目才能渲染等等,复杂项目基本不可用, 完全没有体现 ...
- Unity-Animator在Editor状态下的单个/批量预览工具
网上有一个版本,但是调了半天用不了.于是自己动手写了一个 单个预览 批量预览 使用: 下载地址: http://files.cnblogs.com/files/hont/AnimatorClipPre ...
- 为phpstorm安装右侧代码预览工具
打开设置界面,进入到plugins页面,然后再搜索codeglance,然后点击安装即可.
- LinrFont UWP 字体预览工具下载
Windows 10 用户 购买 https://www.microsoft.com/zh-cn/p/linrfont/9nkh5mlvt819
- java实现office文件预览
不知觉就过了这个久了,继上篇java实现文件上传下载后,今天给大家分享一篇java实现的对office文件预览功能. 相信大家在平常的项目中会遇到需要对文件实现预览功能,这里不用下载节省很多事.大家请 ...
- 使用Sublime Text 3进行Markdown 编辑+实时预览
这种做法可能会对你的磁盘IO造成一小部分性能负担,但负面影响足以忽略. 另外,由于这种频率的读写会被磁盘缓存接管,不必担心磁盘寿命的影响. 对于刚安装好的Sublime Text,我们需要安装一个软件 ...
- 秒级接入、效果满分的文档预览方案——COS文档预览
一.导语 说起 Microsoft Office 办公三件套,想必大家都不会陌生,社畜日常的工作或者生活中,多多少少遇到过这种情况: 本地创建的文档换一台电脑打开,就出现了字体丢失.排版混乱的情况 ...
- 如何手动解析vue单文件并预览?
开头 笔者之前的文章里介绍过一个代码在线编辑预览工具的实现(传送门:快速搭建一个代码在线编辑预览工具),实现了css.html.js的编辑,但是对于demo场景来说,vue单文件也是一个比较好的代码组 ...
随机推荐
- PLSQL 禁用所有约束,启用约束,索引,触发器等
--禁用外键和触发器 SET SERVEROUTPUT ON SIZE 50000BEGINfor c in (select 'ALTER TABLE '||TABLE_NAME||' DISABLE ...
- Spring8中lambda表达式的学习(Function接口、BiFunction接口、Consumer接口)
代码重构,为了确保功能的等效性,梳理代码时,发现如下代码: public SingleRespTTO fundI(SingleReqTTO request) throws Exception { re ...
- 任务学习-ucos
1.任务(task)也称作一个线程: 2.一个任务有5种状态:休眠,就绪,运行,挂起,被中断 休眠:任务驻留在程序空间中,还没有交给ucos管理,把任务交给ucos 是通过调用OSTaskCreate ...
- Spring-boot官方案例分析之data-jpa
Spring-boot官方案例分析之data-jpa package sample.data.jpa; import org.junit.Before; import org.junit.Test; ...
- Question20180106 Java环境变量的配置及为什么要配置环境变量
Question 1 Java环境变量的配置及为什么要配置环境变量 Q1.1为什么要配置环境变量 在学习JAVA的过程中,涉及到多个环境变量(environment variable)的概念,如PA ...
- 菜鸟笔记 -- Chapter 6.2.6 内部类
6.2.6 内部类 在权限修饰符中,我们已经见过内部类了,但我们看到的只是冰山一角,这节我们详细介绍一下内部类,内部类可以分为成员内部类,局部内部类,匿名内部类,静态内部类.下面我们来讲解一下,在讲 ...
- c/c++ 表白小程序
1.开发工具: vs vc(任选一个) 2.准备材料 : a.一首音乐 (注意:音乐要求重命名为 “x” ) b.20张图片(注意: 图片要求重命名为 “1” "2" ...
- 在CentOS 7上搭建Docker环境
Preface We commonly use VMware or VirtualBox to install our Virtual Machines before.For the ...
- (第03节)三种ApplcationContext的实现
- android 按钮动态点击
关键代码: 1.创建一个btn_selector.xml的文件 <?xml version="1.0" encoding="utf-8"?>< ...