12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- using FairyGUI;
- using Sirenix.Utilities;
- using UnityEngine;
- namespace ET.Client
- {
- [Event(SceneType.Client)]
- public class LoginFinish_CreateLobbyUI: AEvent<EventType.LoginFinish>
- {
- protected override async ETTask Run(Scene scene, EventType.LoginFinish args)
- {
- if(!args.exeception.IsNullOrWhitespace())
- {
- return;
- }
- Log.Debug("enter lobby.");
- var ass = await YooAssetProxy.LoadAssetAsync<TextAsset>("FGUI_Lobby_fui");
- UIPackage.AddPackage(ass.GetAssetObject<TextAsset>().bytes, "Lobby", LoadPackageInternalAsync);
- var view = UIPackage.CreateObject("Lobby", "Lobby").asCom;
- view.name = "Lobby";
- GRoot.inst.AddChild(view);
- InitView(scene, view);
- }
- /// <summary>
- /// 加载资源的异步委托
- /// </summary>
- /// <param name="name">注意,这个name是FGUI内部组装的纹理全名,例如FUILogin_atlas0</param>
- /// <param name="extension"></param>
- /// <param name="type"></param>
- /// <param name="item"></param>
- private static async void LoadPackageInternalAsync(string name,
- string extension, System.Type type, PackageItem item)
- {
- var tex = await YooAssetProxy.LoadAssetAsync<Texture>($"FGUI_{name}");
- item.owner.SetItemAsset(item, tex.GetAsset<Texture>(), 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();
- });
- }
- }
- }
|