Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        //加载声音
        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]);
        }
Esempio n. 5
0
        // 加载资源
        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);
            }
        }
Esempio n. 6
0
        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);
        }