public async ETTask AddPackageAsync(string type) { if (Define.IsEditorMode) { await ETTask.CompletedTask; if (AddPackageRef(type)) { UIPackage.AddPackage($"{FGUI_PACKAGE_DIR}/{type}"); } //UIPackage uiPackage = UIPackage.AddPackage($"{FGUI_PACKAGE_DIR}/{type}"); //packages.Add(type, uiPackage); } else { if (AddPackageRef(type)) { string uiBundleDesName = AssetBundleHelper.StringToAB($"{type}_fui"); string uiBundleResName = AssetBundleHelper.StringToAB(type); ResourcesComponent resourcesComponent = Game.Scene.GetComponent <ResourcesComponent>(); await resourcesComponent.LoadBundleAsync(uiBundleDesName); await resourcesComponent.LoadBundleAsync(uiBundleResName); AssetBundle desAssetBundle = resourcesComponent.GetAssetBundle(uiBundleDesName); AssetBundle resAssetBundle = resourcesComponent.GetAssetBundle(uiBundleResName); UIPackage.AddPackage(desAssetBundle, resAssetBundle); } //UIPackage uiPackage = UIPackage.AddPackage(desAssetBundle, resAssetBundle); //packages.Add(type, uiPackage); } }
public static async ETVoid EnterMapAsync(string sceneName) { try { // 加载Unit资源 ResourcesComponent resourcesComponent = ET.Game.Scene.GetComponent <ResourcesComponent>(); await resourcesComponent.LoadBundleAsync($"unit.unity3d"); // 加载场景资源 await ET.Game.Scene.GetComponent <ResourcesComponent>().LoadBundleAsync("map.unity3d"); // 切换到map场景 using (SceneChangeComponent sceneChangeComponent = ET.Game.Scene.AddComponent <SceneChangeComponent>()) { await sceneChangeComponent.ChangeSceneAsync(sceneName); } G2C_EnterMap g2CEnterMap = await ET.SessionComponent.Instance.Session.Call(new C2G_EnterMap()) as G2C_EnterMap; PlayerComponent.Instance.MyPlayer.UnitId = g2CEnterMap.UnitId; Game.Scene.AddComponent <OperaComponent>(); Game.EventSystem.Publish(new EventType.EnterMapFinish()); } catch (Exception e) { Log.Error(e); } }
public override async ETTask <UI> OnCreate(UIComponent uiComponent) { ResourcesComponent resourcesComponent = Game.Scene.GetComponent <ResourcesComponent>(); await resourcesComponent.LoadBundleAsync(UIType.UILogin.StringToAB()); GameObject bundleGameObject = (GameObject)resourcesComponent.GetAsset(UIType.UILogin.StringToAB(), UIType.UILogin); GameObject gameObject = UnityEngine.Object.Instantiate(bundleGameObject); UI ui = EntityFactory.Create <UI, string, GameObject>(uiComponent.Domain, UIType.UILogin, gameObject); ui.AddComponent <UILoginComponent>(); return(ui); }