[]如何实现多个Dialog的通用功能?

我这里有个疑问:
我用ide做了n个Dialog,每个Dialog的UI都不一样,但是它们都有一个共同的功能,就是点击关闭按钮后关闭。
我想在这些Dialog关闭的时候加上一些动作,比如fadeOut特效,我想用一个BaseDialog类实现这些逻辑,并且让这n个Dialog都继承自这个BaseDialog。但是ide生成layaUI.max.all.ts文件的时候,这些ide生成的Dialog都继承了laya.ui.Dialog,我只能再分别新建n个新的类来扩展这n个Dialog,才能达到以上效果。但是这样会产生很多重复的代码,造成代码冗余。
请问有没有什么解决办法?
已邀请:

cuixueying

赞同来自:

你好
 1、 尝试创建一个接口类,让所有继承自UI类的子类同时指向该接口类,在接口类中实现通用逻辑!
 2、 为按钮单独的设置一个runtime类或者进行脚本拓展(http://ask.layabox.com/question/1084

Victor

赞同来自:

关于这个问题,楼主最终是怎么解决的

HennoLuo

赞同来自:

1.编写一个类A继承自Laya.View
2.在设计模式下,选择,文件->项目设置->UICode导入类
3.填写`import View = A;`
4.设计模式导出一下UI,就可以看到所有的View都被替换成了自己的类A了。
 
PS:如果是Dialog也一样,写入`import Dialog = B`,B继承自Laya.Dialog。注意import后面必须是View和Dialog,否则不会替换。

要回复问题请先

商务合作
商务合作