public void DoSet_Category_VolumeScale(string strCategory, float fVolume_0_1)
        {
            SoundScaleConfig pConfig = GetSoundScaleConfig(strCategory);

            pConfig.fSoundScale_0_1 = fVolume_0_1;

            foreach (List <SoundSlot> listSoundSlot in _mapPlayingSoundSlot_KeyIs_Category.Values)
            {
                listSoundSlot.ForEachCustom(p => p.DoSet_AudioVolume(fVolume_0_1));
            }
        }
        private SoundScaleConfig GetSoundScaleConfig(string strCategory)
        {
            SoundScaleConfig pScaleConfig = _pConfig.listSoundConfig.FirstOrDefault(pConfig => pConfig.strCategoryName == strCategory);

            if (pScaleConfig == null)
            {
                pScaleConfig = new SoundScaleConfig(strCategory);
                _pConfig.listSoundConfig.Add(pScaleConfig);

                // PlayerPrefsExtension.SetObject(nameof(SoundConfig), _pConfig, null);
            }

            return(pScaleConfig);
        }
        private float Calculate_SoundVolume(string strCategory, float fLocalVolume)
        {
            SoundScaleConfig pConfig = GetSoundScaleConfig(strCategory);

            return(pConfig.fSoundScale_0_1 * fLocalVolume);
        }
        public float Get_Category_VolumeScale(string strCategory)
        {
            SoundScaleConfig pConfig = GetSoundScaleConfig(strCategory);

            return(pConfig.fSoundScale_0_1);
        }