public async void Awake() { Instance = this; //初始化加载一次 ResourcesComponent resourcesComponent = Game.Scene.GetComponent <ResourcesComponent>(); await resourcesComponent.LoadBundleAsync("sound.unity3d"); _musicMute = PlayerPrefs.GetInt("MusicMute", 0) == 1; _soundMute = PlayerPrefs.GetInt("SoundMute", 0) == 1; _soundVolume = PlayerPrefs.GetFloat("SoundVolume", 0.5f); _sfxVolume = PlayerPrefs.GetFloat("SFXVolume", 1); root = new GameObject("SoundDatas").transform; GameObject.DontDestroyOnLoad(root.gameObject); if (_soundVolume > 0.5f) { _soundVolume = 0.5f; } //组件初始化完成后,直接调用播放背景音乐的方法 this.PlayMusic("SoundBgHall", 0, _soundVolume, true); //注册按钮默认点击音效 ButtonClickSound.RegisterPlayButtonSound(); }
public static async ETVoid EnterMapAsync(string sceneName) { try { // 加载Unit资源 ResourcesComponent resourcesComponent = ETModel.Game.Scene.GetComponent <ResourcesComponent>(); await resourcesComponent.LoadBundleAsync($"unit.unity3d"); // 加载场景资源 await ETModel.Game.Scene.GetComponent <ResourcesComponent>().LoadBundleAsync("map.unity3d"); // 切换到map场景 using (SceneChangeComponent sceneChangeComponent = ETModel.Game.Scene.AddComponent <SceneChangeComponent>()) { await sceneChangeComponent.ChangeSceneAsync(sceneName); } G2C_EnterMap g2CEnterMap = await ETModel.SessionComponent.Instance.Session.Call(new C2G_EnterMap()) as G2C_EnterMap; PlayerComponent.Instance.MyPlayer.UnitId = g2CEnterMap.UnitId; Game.Scene.AddComponent <OperaComponent>(); Game.EventSystem.Run(EventIdType.EnterMapFinish); } catch (Exception e) { Log.Error(e); } }
public async ETTask AddPackageAsync(string type) { #if UNITY_EDITOR await ETTask.CompletedTask; UIPackage uiPackage = UIPackage.AddPackage($"{FUI_PACKAGE_DIR}/{type}"); #else string uiBundleDesName = $"{type}_fui".StringToAB(); string uiBundleResName = type.StringToAB(); 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 uiPackage = UIPackage.AddPackage(desAssetBundle, resAssetBundle); #endif packages.Add(type, uiPackage); }
//加载声音 private async Task <SoundData> LoadSound(string soundName) { ResourcesComponent resourcesComponent = Game.Scene.GetComponent <ResourcesComponent>(); if (!abSounds.ContainsKey(soundName) || abSounds[soundName] == null) { await resourcesComponent.LoadBundleAsync("sound.unity3d"); abSounds.Add(soundName, GameObject.Instantiate((GameObject)resourcesComponent.GetAsset("sound.unity3d", soundName)).GetComponent <SoundData>()); resourcesComponent.UnloadBundle("sound.unity3d"); } return(abSounds[soundName]); }
// 加载资源 public static async Task LoadRes() { string fileName = ""; try { string versionPath = Path.Combine(PathHelper.AppHotfixResPath, "Version.txt"); ResourcesComponent resourcesComponent = ETModel.Game.Scene.GetComponent <ResourcesComponent>(); VersionConfig localVersionConfig = JsonHelper.FromJson <VersionConfig>(File.ReadAllText(versionPath)); foreach (var data in localVersionConfig.FileInfoDict) { fileName = data.Value.File; if ((fileName.Equals("Version.txt")) || (fileName.Equals("StreamingAssets"))) { continue; } await resourcesComponent.LoadBundleAsync(fileName); } //foreach (var str in fileList) //{ // fileName = str; // if ((fileName.Equals("Version.txt")) || // (fileName.Equals("StreamingAssets"))) // { // continue; // } // try // { // await resourcesComponent.LoadBundleAsync(fileName); // } // catch (Exception ex) // { // Log.Debug("LoadRes异常:" + ex + "----" + fileName); // } //} } catch (Exception ex) { Log.Debug("LoadRes异常:" + ex + "----" + fileName); ToastScript.createToast("加载音频出错:" + fileName); } }
public async ETTask AddPackageAsync(string type) { if (this.packages.ContainsKey(type)) { return; } #if UNITY_EDITOR await ETTask.CompletedTask; UIPackage uiPackage = UIPackage.AddPackage($"{FUI_PACKAGE_DIR}/{type}"); #else string uiBundleName = type.StringToAB(); ResourcesComponent resourcesComponent = Game.Scene.GetComponent <ResourcesComponent>(); await resourcesComponent.LoadBundleAsync(uiBundleName); AssetBundle assetBundle = resourcesComponent.GetAssetBundle(uiBundleName); UIPackage uiPackage = UIPackage.AddPackage(assetBundle); #endif this.packages.Add(type, uiPackage); }