入口

打开插件文件夹可以看到

可以从GitHub上下载LuaAPI
https://github.com/fairygui/FairyGUI-Editor/tree/master/plugin/LuaAPI

main.lua

插件执行后的入口就是这个main.lua,

onPublish

在main.lua中定义下面这个方法,当你发布的时候会调用这个全局方法
function onPublish(handler)
print_re(“测试发布onPublish”, handler)
loge(“handler.pkg.name=” … handler.pkg.name)
end

handler的类型:CS.FairyEditor.PublishHandler
利用这个可以做一些操作,比如发布的时候连代码一起创建出来

自定义Inspector

可以现在FGUI编辑器中创建一个自定义的包,然后发布
在main.lua中创建一个lua table,
主要键值:
create():当这个这个插件执行后并且inspector创建后会自动执行该方法
updateUI():当UI面板发生变化时都会调用该方法
在create()中将这个自定义面板创建出来,之后走自己的逻辑即可
CS.FairyGUI.UIPackage.CreateObject(packageName, resName);

App.inspectorView:AddInspector(inspector, “自定义面板”, “自定义面板”);
App.docFactory:ConnectInspector(“自定义面板”, “mixed”, false, false);

App.pluginManager:LoadUIPackage(PluginPath…‘/aaa-CustomInspector’)

一些API(持续更新)

控制台输出

fprint(“”);普通log
App.consoleView:LogWarning(mes);警告输出
App.consoleView:LogError(str, error);输出报错,error可为空,类型为CS.System.Exception

App.activeDoc:当前打开的页面

inspectingTargets,获取当前界面中的选中所有对象(FairyEditor.FObject)

InsertObject:创建内置组件,比如GTextField:InserObject(“text”);

PluginPath

输出的是plugins这个绝对路径

App.docFactory:

ConnectInspector

连接这个自定义Inspector
参数inspectorName, forObjectType, forEmptySelection, forTimelineMode
forTimelineMode:bool — 是否在TimeLine中显示

App.RefreshProject(); //刷新工程

System.IO //文件or目录操作 System开头的都是C#API

主菜单扩展

App.mainView.toolbar------这个是GComponent类型
可以通过
App.pluginManager:LoadUIPackage(path)
CS.FairyGUI.UIPackage.CreateObject(name, resName)
组合创建一个GObject出来,加入toolbar中去

快捷键

App.pluginManager.SetHotKey(“CTRL+S”, 回调)

右键菜单App.libView.contextMenu

资源库中具体某个资源的右键菜单
App.libView.contextMenu:AddItem(“libView”, “libView”, function()
fprint(“haha”)
end);

显示列表的右键菜单,舞台右键菜单,舞台元件右键菜单
App.docFactory.contextMenu:AddItem(“docFactory”, “docFactory”, function()
fprint(“docFactory”)
end);

顶部菜单栏

var menu = App.menu:GetSubMenu(“tool”)
menu:AddItem(“display name”, “name”, atIndex, isSubMenu, (name) => {
fprint(“按下”);
});

function onDestroy() {
menu.RemoveItem(“name”);
}

//FPackageItem 转 FObject

FairyEditor.FObjectFactory.CreateObject

//创建一个组件 FPackageItem
var targetItem = targetPackage.CreateComponentItem(“Bubble”, 600, 100, “/”, “”, true, true)
//FPackageItem实例化为FComponent
var rootNode = FairyEditor.FObjectFactory.CreateObject(targetItem) as FairyEditor.FComponent

//添加图片、文本节点
rootNode.AddChild(image)
写入XML中
rootNode.Write_editMode

FGUI编辑器插件开发(不推荐使用,当做参考吧)相关推荐

  1. Sublime Text 2 - 性感无比的代码编辑器!(推荐阅读)

    原文链接:http://www.iplaysoft.com/sublimetext.html 常用快捷键(windows/Linux) 1. ctrl+方向键  按单词移动 2. ctrl+shift ...

  2. 董付国老师Python系列教材推荐与选用参考

    总体说明:1)每本书侧重点不一样:2)基础语法知识本身是类似的,但每本书案例设计与选取的难易程度和适用专业有所不同:3)个人读者不建议买太多,选择2本认认真真地读完,理解书中案例,然后进入公众号菜单& ...

  3. dz论坛修改html编辑器,discuz插件推荐:编辑器H5上传

    大家应该知道,以谷歌Chrome浏览器为首的大多数浏览器已经不再默认开启flash支持了,需要用户手动开启才可以使用. 目前discuz包括x3.4版本在内的所有discuz版本,在文件上传方面依旧采 ...

  4. Unity3D编辑器插件开发

    学习视频连接地址 目录: Unity3D插件开发.png 一,菜单项相关操作 1.菜单项(MenuItem) 首先在Asset目录下新建一个Editor文件夹,然后在该目录下添加一个脚本MenuTes ...

  5. unity 基于FGUI编辑器导出的图集切图工具

    最近项目优化需要打图集,由于Unity的SpritePacker没用过,TexturePacker不会用,上个项目用的又是FariyGUI自己比较熟悉,导出的直接就是打好的图集特别好用,当然导出的图集 ...

  6. python中文编辑器推荐-八款Python编辑器对比介绍推荐

    我们学Python用什么编辑器比较好?工欲善其事必先利其器,选好工具学习更高效. 市面上流行的编辑器众多,根据自己的需求选择适合自己.我自己使用的pycharm配置简单功能强大使用起来省时省心,对初学 ...

  7. python编辑器对比和推荐

    发信人: RunningOn (挥着翅膀的男孩), 信区: Python 标  题: python IDE比较与推荐 原始链接:已忘记.有少量修改! 我先给一个初步的表格吧,大家如果有什么意见,或有补 ...

  8. 10个免费的PHP编辑器/开发工具推荐

    如果有一个好的编辑器或开发工具,能够极大提高我们的开发效率.下面介绍10个免费.强大的PHP编辑器/开发工具.这些编辑器拥有调试器.增量执行PHP脚本,查看每一行的所有变量值等功能. 1.Notepa ...

  9. 几大流行的js编辑器推荐理由和推荐指数

    由于长时间使用 UEditor 编辑器,再加上 UEditor 界面实在不够清新,不符合我的审美,遂决定给网站后台换一个富文本编辑器,经过几天的寻找以及试用,终于找到了符合我这强迫症的最完美的编辑器, ...

  10. 微信编辑器春天模板推荐

    一年四季中最美的春天到了,万物复苏,百花盛开. 小编们是否也开始准备一篇关于春天的文章了呢 可以看下关于春天的模板和一些关于春天的样式和svg样式,修改模板中的图文用于公众号文章的发布. 打开96编辑 ...

最新文章

  1. Android UI 统一修改Button控件的样式,以及其它系统控件的默认样式
  2. 做过十几年程序员,作为当今全世界顶级产品经理,出版第二部重磅作品《启示录2》...
  3. 深入理解Java注解Annotation及自定义注解
  4. python 解析xml 文件: SAX方式
  5. mysql无法输入数据库_关于mysql数据库无法录入中文的问题
  6. java 中类超时_Java中httpClient中的三种超时设置总结
  7. 锐起无盘服务器优化,(锐起无盘系统制作系统优化教程.doc
  8. 2023年东大学机械专硕考研上岸经验分享
  9. 计算机sense服务无法启动,workstation服务无法启动解决办法
  10. 服务器系统自带的系统清理工具,一键清除系统垃圾
  11. wps2019将表格数据转换成工资条的操作方法
  12. HDU - Polygons(半平面交)
  13. oracle全局索引改成本地索引,解析一个通过添加本地分区索引提高SQL性能的案例...
  14. [英语阅读]希腊古剧场对高跟鞋说“不”
  15. 2023年全国最新工会考试精选真题及答案3
  16. myeclipse破解方法
  17. geek_询问How-To Geek:如何监视带宽使用情况?
  18. matlab程序模拟微信抢红包,js模拟微信抢红包算法的讨论
  19. 不能直接打开excel文件的原因
  20. 企业创新系列之:格物致知

热门文章

  1. restlet和ajax,使用Web测试插件Restlet Client发送Get和Post请求的方法教程
  2. 能源消耗总量计算公式_电力消耗占比计算公式
  3. 6.18-WizNote MD 指南
  4. 7-4 散列表查找(PTA程序设计)
  5. Java中文和拼音相互转换
  6. 【Python】实例3:天天向上的力量与微实例:星期转换、恺撒密码
  7. 极限学习机的一篇小综述
  8. Maven安装与配置
  9. html5 序列帧播放器,Pdplayer 64位版(序列帧动画播放器)V1.0.7.33 免费版
  10. 天津成人高考计算机基础知识题库,天津市成考《计算机基础考试大纲》(高中起点)...