少年修仙传客户端代码仓库
hch
3 天以前 600733c8f592cb9e65f2b7a3e110ac1d686e6bfe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
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);
    }
}