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<PlayerDataType> playerDataRefreshEvent;//玩家数据更新
|
public static event Action OnDayEvent;
|
public static event Action<PackType> 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>();
|
|
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);
|
}
|
}
|