using vnxbqy.UI; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; // 主工程的各种事件由此处分发给热更工程的各模块 public class GameEvent { public static event Action beforePlayerDataInitializeEvent; public static event Action switchAccountEvent; public static event Action afterPlayerDataInitializeEvent; public static event Action playerLoginOkEvent; public static event Action mapInitOkEvent; public static event Action playerDataUpdateEvent;// 玩家数据无区别更新,慎用 public static event Action playerDataRefreshEvent;//玩家数据更新 public static event Action OnDayEvent; public static event Action OnRefrechPackEvent; public static void RegisterEvent() { DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize; DTC0102_tagCDBPlayer.switchAccountEvent += OnAccountSwitch; DTC0102_tagCDBPlayer.afterPlayerDataInitializeEvent += OnAfterPlayerDataInitialize; DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnPlayerLoginOk; DTC0403_tagPlayerLoginLoadOK.mapInitOkEvent += OnMapInitOk; TimeMgr.Instance.OnDayEvent += OnDayEventFunc; //委托中里有委托函数的不能超过1个参数 //触发频率高并且是界面里的逻辑,请在界面处理即可,这里添加会变成默认存在空委托 //PlayerDatas.Instance.playerDataUpdateEvent += OnPlayerDataUpdateEvent; PlayerDatas.Instance.playerDataRefreshEvent += OnPlayerDataRefreshEvent; var packModel = ModelCenter.Instance.GetModelEx(); packModel.refrechPackEvent += refrechPackEvent; } private static void OnBeforePlayerDataInitialize() { beforePlayerDataInitializeEvent?.Invoke(); } private static void OnAccountSwitch() { switchAccountEvent?.Invoke(); } private static void OnAfterPlayerDataInitialize() { afterPlayerDataInitializeEvent?.Invoke(); } private static void OnPlayerLoginOk() { playerLoginOkEvent?.Invoke(); } private static void OnMapInitOk() { mapInitOkEvent?.Invoke(); } private static void OnPlayerDataUpdateEvent() { playerDataUpdateEvent?.Invoke(); } private static void OnPlayerDataRefreshEvent(PlayerDataType type) { playerDataRefreshEvent?.Invoke(type); } private static void OnDayEventFunc() { OnDayEvent?.Invoke(); } private static void refrechPackEvent(PackType type) { OnRefrechPackEvent?.Invoke(type); } }