|
@@ -1,28 +1,91 @@
|
|
|
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)
|
|
|
{
|
|
|
- string title = "";
|
|
|
- string content = "";
|
|
|
+ IsGameOver = true;
|
|
|
+ GComponent view;
|
|
|
if(args.winForce == 1)
|
|
|
{
|
|
|
- title = "守护成功";
|
|
|
- content = "感谢榜上大哥的钞能力,成功守护了家园";
|
|
|
+ view = await UIHelper.Create("CommonDialog", "GameoverSuccess");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- title = "守护失败";
|
|
|
- content = "大哥不给力啊";
|
|
|
+ view = await UIHelper.Create("CommonDialog", "GameoverFailed");
|
|
|
}
|
|
|
- await UICommonDialog1.Show(title, content, () => {
|
|
|
|
|
|
- }, null);
|
|
|
+ //等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;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|