参照项目
新增适配
1. FGUI的Transition的Play方法需要加适配
ILHelper.cs的RegisterDelegateConvertor方法中添加委托转换:
appdomain.DelegateManager.RegisterDelegateConvertor<FairyGUI.PlayCompleteCallback>((act) =>
{
return new FairyGUI.PlayCompleteCallback(() => { ((Action) act)(); });
});
2. FUIMainComponent文件只有AwakeSystem生效
原打开UI代码:
var fui = await FUIMain.CreateInstanceAsync(args.ZoneScene);
fui.Name = FUIMain.UIResName;
fui.AddComponent<FUIMainComponent>();
args.ZoneScene.GetComponent<FUIComponent>().Add(fui, true);
args.ZoneScene.GetComponent<FUIScalerComponent>().Register(fui.GObject, AdaptedType.RelationFullScreen);
fui是被Add到FUIComponent,而不是FUIComponent.AddComponent(也不能这么写),所以fui及其children是不支持EventSystem事件,Awake事件能执行是因为创建组件的时候直接执行了,而不是由EventSystem触发。
解决方案:
- FUIMainComponent直接加到FUIComponent,注意关闭界面的时候需要手动移除
args.ZoneScene.GetComponent<FUIComponent>().AddComponent<FUIMainComponent>;
- FUIComponent里面重新实现一套生命周期方法(待实现)