using FairyGUI; using Sirenix.Utilities; using UnityEngine; namespace ET.Client { [Event(SceneType.Client)] public class LoginFinish_CreateLobbyUI: AEvent { protected override async ETTask Run(Scene scene, EventType.LoginFinish args) { if(!args.exeception.IsNullOrWhitespace()) { return; } Log.Debug("enter lobby."); var ass = await YooAssetProxy.LoadAssetAsync("FGUI_Lobby_fui"); UIPackage.AddPackage(ass.GetAssetObject().bytes, "Lobby", LoadPackageInternalAsync); var view = UIPackage.CreateObject("Lobby", "Lobby").asCom; view.name = "Lobby"; GRoot.inst.AddChild(view); InitView(scene, view); } /// /// 加载资源的异步委托 /// /// 注意,这个name是FGUI内部组装的纹理全名,例如FUILogin_atlas0 /// /// /// private static async void LoadPackageInternalAsync(string name, string extension, System.Type type, PackageItem item) { var tex = await YooAssetProxy.LoadAssetAsync($"FGUI_{name}"); item.owner.SetItemAsset(item, tex.GetAsset(), DestroyMethod.Unload); } private void InitView(Scene scene, GComponent view) { var name = view.GetChild("userName"); var level = view.GetChild("UserLevel"); var gem = view.GetChild("txt_gem"); var gold = view.GetChild("txt_gold"); var point = view.GetChild("txt_point"); name.text = "大老板"; level.text = "99"; gem.text = "888"; gold.text = "666"; point.text = "777"; var btn = view.GetChild("Btn_PVP"); btn.onClick.Add(() => { EnterMapHelper.EnterMapAsync(scene).Coroutine(); }); btn = view.GetChild("Btn_RoomMode"); btn.onClick.Add(() => { EnterMapHelper.EnterMapAsync(scene).Coroutine(); }); } } }