12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- using ET.Client;
- using ET.EventType;
- using FairyGUI;
- using System.Collections.Generic;
- using UnityEngine;
- namespace ET
- {
- [Event]
- public class RankEventHandler : BEvent<RankChangeEvent>
- {
- protected override async ETTask OnEvent(RankChangeEvent a)
- {
- GameoverEventHandler.RankList = a.InfoList;
- await ETTask.CompletedTask;
- }
- }
- [Event]
- public class GameoverEventHandler : BEvent<EventType.GameoverEvent>
- {
- public static List<RankInfo> RankList = new();
- public static bool IsGameOver = false;
- protected override async ETTask OnEvent(EventType.GameoverEvent args)
- {
- IsGameOver = true;
- GComponent view;
- if(args.winForce == 1)
- {
- view = await UIHelper.Create("CommonDialog", "GameoverSuccess");
- }
- else
- {
- view = await UIHelper.Create("CommonDialog", "GameoverFailed");
- }
- //等1秒,等排行榜数据
- await TimerComponent.Instance.WaitAsync(1000);
- view.GetChild("btn_ok").onClick.Set(async () =>
- {
- GRoot.inst.RemoveChild(view);
- view = await UIHelper.Create("paiming", "paiming");
- InitRankView(view);
- view.GetChild("btn_ok").onClick.Set(() =>
- {
- RankList = null;
- IsGameOver = false;
- GRoot.inst.RemoveChild(view);
- EventSystem.Instance.Publish<ReOpenGame>();
- });
- });
- }
- //展示排行榜
- private void InitRankView(GComponent view)
- {
- var list = view.GetChild("list").asList;
- var data = RankList;
- int i = 0;
- for (; i < data.Count; i++)
- {
- var chd = list.GetChildAt(i).asCom;
- if (chd == null)
- {
- chd = UIPackage.CreateObject("paiming", $"paiminsg_0{((i<3) ? (i+1) : 4)}").asCom;
- list.AddChild(chd);
- }
- else
- {
- chd.visible = true;
- }
- if(i >= 3)
- {
- chd.GetChild("rank").text = (i + 1).ToString();
- }
- chd.GetChild("name").text = data[i].Name;
- chd.GetChild("score").text = data[i].Value.ToString();
- }
- for (; i < list.numChildren; i++)
- {
- list.GetChildAt(i).visible = false;
- }
- }
- }
- }
|