Пример #1
0
        public override async void Init()
        {
            var ExtensionManager = new ExtensionManager();
            var GMToolsManager   = new GMToolsManager();

            //JEvent.ShowLog = true;//是否显示一些log

            JEvent.defaultEvent.Register(UIManager);
            JEvent.defaultEvent.Register(ExtensionManager);
            JEvent.defaultEvent.Register(GMToolsManager);

            //先搞一个登录失败数据
            LoginErrorData d = new LoginErrorData
            {
                username = "******",
                errorMsg = "故意让它错误的",
            };

            //广播错误数据
            JEvent.defaultEvent.Post(d);

            //取消注册ExtensionManager,这样下次不会post到这个实例内的方法
            JEvent.defaultEvent.Unregister(ExtensionManager);

            await Task.Delay(3000);

            //创建独立的JEvent
            JEvent e = new JEvent();

            //登录成功数据
            LoginSuccessData dt = new LoginSuccessData
            {
                username = "******",
                money    = 10000
            };

            //给独立的JEvent注册方法
            e.Register(UIManager);
            e.Register(GMToolsManager);
            //广播
            e.Post(dt);
        }
Пример #2
0
 /// <summary>
 /// 登录成功的时候的UI界面更新
 /// </summary>
 /// <param name="data"></param>
 public void OnSuccess(LoginSuccessData data)
 {
     SuccessPanel.SetActive(true);
     new JAction().Delay(3).Do(() =>
     {
         SuccessPanel.SetActive(false);
         UsernameText.text = data.username;
         //因为在GMTools那边更新了money数据,所以用那边的静态实例数据
         //自己写的时候也要注意,每个方法的data参数哪怕进行了更改也不会影响其他方法内的data
         //必须自己把它单独保存到一个其他方法也能读到的地方,才能在其他方法里同步对数据的修改
         //同时多线程处理数据请自行考虑线程安全,脏数据就得自己处理了
         MoneyText.text = $"¥{GMToolsManager.successData.money}";
         GamePanel.SetActive(true);
     })
     .Delay(3)
     .Do(() =>
     {
         GamePanel.transform.parent.gameObject.SetActive(false);
     }).Execute(true);
 }
Пример #3
0
 [Subscriber(ThreadMode.Main)]//跑主线程
 public void GetMoreMoney(LoginSuccessData data)
 {
     successData        = data;
     successData.money *= 100;
 }
Пример #4
0
 /// <summary>
 /// logcat测试的时候log一下登录成功的账号
 /// </summary>
 /// <param name="data"></param>
 public void LogcatSuccessData(LoginSuccessData data)
 {
     Log.Print($"{data.username}登录成功");
 }