Qfamewok中的界面的UIElement互通消息(使用事件系统SimpleEventSystem)

接上次问题,这次使用事件系统SimpleEventSystem,因为项目使用的是MVP设计模式,并且使用了UniRx 发现更好用
首先写一个事件类,此类可以携带参数也可以不携带参数

//打开折线图的事件
    public class OpenLineChartEvent
    {
        public PanelEnum panelEnum;
    }

然后在MainPanel里面注册事件

//注册打开折线图的事件
SimpleEventSystem.GetEvent<OpenLineChartEvent>()
                .Subscribe(openLineChartEvent =>
                             {
                                 if (openLineChartEvent == null)
                                 {
                                     throw new ArgumentNullException(nameof(openLineChartEvent));
                                 }

                                 OpenLineChart(openLineChartEvent.panelEnum);
                             })
                .DisposeWhenGameObjectDestroyed(this);

其中OpenLineChart方法是用来操作打开折线图的
最后在ButtonList里面发送事件

//通知打开康复评估表
SimpleEventSystem.Publish(new OpenLineChartEvent() { panelEnum = PanelEnum.FMAPanel });

在MainPanel里面注册事件是因为要用MianPanel来操作下级折线图的出现与隐藏
在ButtonList里面发送事件是因为要在ButtonList里面操作Button

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值