//**************************** CSVのロード用 ****************************//

        /// <summary>
        /// CSVファイルからロードして初期化
        /// </summary>
        /// <param name="parent">コルーチンをまわすためのMonoBehaviour</param>
        /// <param name="url">ファイルパス</param>
        /// <param name="version">シナリオバージョン(-1以下で必ずサーバーからデータを読み直す)</param>
        /// <returns></returns>
        public IEnumerator LoadCsvAsync(MonoBehaviour parent, string url, int version)
        {
            //起動ファイルの読み込み
            {
                AssetFile file = AssetFileManager.Load(url, version, this);
                Debug.Log("Boot Scenario Version:" + file.Version);
                while (!file.IsLoadEnd)
                {
                    yield return(0);
                }
                SettingData.InitFromCsv(file.Csv, url);
                file.Unuse(this);
            }

            importVersion = Version;

            parent.StartCoroutine(ScenarioSetting.LoadCsvAsync(SettingData.ScenarioSettingUrlList));
            parent.StartCoroutine(CharacterSetting.LoadCsvAsync(SettingData.CharacterSettingUrlList));
            parent.StartCoroutine(TextureSetting.LoadCsvAsync(SettingData.TextureSettingUrlList));
            parent.StartCoroutine(SoundSetting.LoadCsvAsync(SettingData.SoundSettingUrlList));
            parent.StartCoroutine(DefaultParam.LoadCsvAsync(SettingData.ParamSettingUrlList));
            parent.StartCoroutine(LayerSetting.LoadCsvAsync(SettingData.LayerSettingUrlList));
            parent.StartCoroutine(SceneGallerySetting.LoadCsvAsync(SettingData.SceneGallerySettingUrlList));


            while (!IsLoadEndCsv())
            {
                yield return(0);
            }
        }
예제 #2
0
 /// <summary>
 /// 全リソースをバックグラウンドでダウンロード
 /// </summary>
 public void DownloadAll()
 {
     CharacterSetting.DownloadAll();
     TextureSetting.DownloadAll();
     SoundSetting.DownloadAll();
     SceneGallerySetting.DownloadAll();
 }
예제 #3
0
        //**************************** CSVのロード用 ****************************//

        /// <summary>
        /// CSVファイルからロードして初期化
        /// </summary>
        /// <param name="parent">コルーチンをまわすためのMonoBehaviour</param>
        /// <param name="url">ファイルパス</param>
        /// <param name="version">シナリオバージョン(-1以下で必ずサーバーからデータを読み直す)</param>
        /// <returns></returns>
        public IEnumerator LoadCsvAsync(MonoBehaviour parent, string url, int version)
        {
            //起動ファイルの読み込み
            {
                AssetFile file = AssetFileManager.GetFileCreateIfMissing(url);
                if (version < 0)
                {
                    file.Version = file.CacheVersion + 1;
                }
                AssetFileManager.Load(file, this);
                while (!file.IsLoadEnd)
                {
                    yield return(0);
                }
                SettingData.InitFromCsv(file.Csv, url);
                file.Unuse(this);
            }

            parent.StartCoroutine(ScenarioSetting.LoadCsvAsync(SettingData.ScenarioSettingUrlList));
            parent.StartCoroutine(CharacterSetting.LoadCsvAsync(SettingData.CharacterSettingUrlList));
            parent.StartCoroutine(TextureSetting.LoadCsvAsync(SettingData.TextureSettingUrlList));
            parent.StartCoroutine(SoundSetting.LoadCsvAsync(SettingData.SoundSettingUrlList));
            parent.StartCoroutine(DefaultParam.LoadCsvAsync(SettingData.ParamSettingUrlList));
            parent.StartCoroutine(LayerSetting.LoadCsvAsync(SettingData.LayerSettingUrlList));
            parent.StartCoroutine(SceneGallerySetting.LoadCsvAsync(SettingData.SceneGallerySettingUrlList));


            while (!IsLoadEndCsv())
            {
                yield return(0);
            }
        }
예제 #4
0
 /// <summary>
 /// 起動時の初期化
 /// </summary>
 /// <param name="rootDirResource">ルートディレクトリのリソース</param>
 public void BootInit(string rootDirResource)
 {
     SettingData.BootInit(rootDirResource);
     LayerSetting.BootInit(SettingData);
     ScenarioSetting.BootInit(SettingData);
     CharacterSetting.BootInit(SettingData);
     TextureSetting.BootInit(SettingData);
     SoundSetting.BootInit(SettingData);
     SceneGallerySetting.BootInit(SettingData);
 }
예제 #5
0
 /// <summary>
 /// データをクリア
 /// </summary>
 public void Clear()
 {
     settingData = new AdvBootSetting();
     LayerSetting.Clear();
     CharacterSetting.Clear();
     TextureSetting.Clear();
     SoundSetting.Clear();
     ScenarioSetting.Clear();
     DefaultParam.Clear();
     SceneGallerySetting.Clear();
 }
예제 #6
0
        //save sequence
        private void button3_Click(object sender, RoutedEventArgs e)
        {
            if (SelectedSequence == null)
            {//add new sequence
                //SoundServiceSingleton.Instance.RemoveAllSoundsForUser(UserService.SelectedUser);
                SoundSequence soundSequence = new SoundSequence();
                foreach (var sound in SoundsInSequence)
                {
                    SoundSetting soundSetting = new SoundSetting()
                    {
                        Sound = sound
                    };
                    soundSequence.Sounds.Add(soundSetting);
                }

                if (IsUserSequence.HasValue && IsUserSequence.Value == true && UserService.SelectedUser != null)
                {
                    soundSequence.User = UserService.SelectedUser;
                }
                else
                {
                    soundSequence.User = null;
                }

                soundSequence.Name = SequenceName;

                SoundServiceSingleton.Instance.SaveSoundSequence(soundSequence);


                //reload sequences combobox after add new
                LoadSequences();
            }
            else
            {//update existing
                SelectedSequence.Name = SequenceName;
                SelectedSequence.Sounds.Clear();
                SoundsInSequence.ForEach(x => SelectedSequence.Sounds.Add(new SoundSetting()
                {
                    Sound = x
                }));

                if (IsUserSequence.HasValue && IsUserSequence.Value == true && UserService.SelectedUser != null)
                {
                    SelectedSequence.User = UserService.SelectedUser;
                }
                else
                {
                    SelectedSequence.User = null;
                }

                SoundServiceSingleton.Instance.SaveSoundSequence(SelectedSequence);
            }
        }
예제 #7
0
        private void SetSettings(SoundSetting setting)
        {
            GlobalSettings = setting;

            using (var list = GetPlayingAudioItemsCopy())
            {
                foreach (var item in list)
                {
                    ApplySetting(item);
                }
            }
        }
예제 #8
0
        private void SetSettings <TEnum>(SoundSetting setting)
        {
            using (var list = GetPlayingAudioItemsCopy <TEnum>())
            {
                var type = typeof(TEnum);
                GroupSettings[type] = setting;

                foreach (var item in list)
                {
                    ApplySetting(item);
                }
            }
        }
예제 #9
0
    private void SaveSetting()
    {
        _dirty = false;

        LocalizationManager.Instance.SetLanguage(_languageDropdown.options[_languageDropdown.value].text);
        SoundSetting soundSetting = new SoundSetting
        {
            bgVolume    = _bgVolumeSlider.value,
            fxVolume    = _fxVolumeSlider.value,
            speakVolume = _speackVolumeSlider.value
        };

        GameDataManager.Instance.SaveSoundSetting(soundSetting);
    }
예제 #10
0
 /// <summary>
 /// 用于刷新显示声音状态
 /// </summary>
 /// <param name="_soundClose"></param>
 private void UpdataSoundButton()
 {
     if (AppConfig.m_config.SoundClose == false)
     {
         btnTitelSound.Visibility      = Visibility.Visible;
         btnTitelSoundClose.Visibility = Visibility.Collapsed;
         SoundSetting.SoundClose(false);
     }
     else
     {
         btnTitelSound.Visibility      = Visibility.Collapsed;
         btnTitelSoundClose.Visibility = Visibility.Visible;
         SoundSetting.SoundClose(true);
     }
 }
예제 #11
0
        private SoundSetting GetResultingSetting(Type type, int value)
        {
            var key = new EnumComparerKey(type, value);

            var groupSetting = GroupSettings.ContainsKey(type) ? GroupSettings[type] : SoundSetting.Default;
            var soundSetting = SoundSettings.ContainsKey(key) ? SoundSettings[key] : SoundSetting.Default;

            var resultingSetting = new SoundSetting();

            resultingSetting.Mute   = GlobalSettings.Mute || groupSetting.Mute || soundSetting.Mute;
            resultingSetting.Pitch  = GlobalSettings.Pitch * groupSetting.Pitch * soundSetting.Pitch;
            resultingSetting.Volume = GlobalSettings.Volume * groupSetting.Volume * soundSetting.Volume;

            return(resultingSetting);
        }
        /// <summary>
        /// 起動時の初期化
        /// </summary>
        /// <param name="rootDirResource">ルートディレクトリのリソース</param>
        public void BootInit(string rootDirResource)
        {
            if (importVersion < Version)
            {
                Debug.LogError("Version Error! Please Import Scenario Data");
            }

            SettingData.BootInit(rootDirResource);
            LayerSetting.BootInit(SettingData);
            CharacterSetting.BootInit(SettingData);
            TextureSetting.BootInit(SettingData);
            SoundSetting.BootInit(SettingData);
            DefaultParam.BootInit();
            SceneGallerySetting.BootInit(SettingData);
            ScenarioSetting.BootInit(SettingData);
            PageContoroller.Clear();
        }
예제 #13
0
        private void SetSettings <TEnum>(TEnum sound, SoundSetting setting)
            where TEnum : struct, IComparable, IConvertible, IFormattable
        {
            using (var list = GetPlayingAudioItemsCopy(sound))
            {
                var type  = typeof(TEnum);
                var value = EnumInt32ToInt.Convert(sound);
                var key   = new EnumComparerKey(type, value);

                SoundSettings[key] = setting;

                foreach (var item in list)
                {
                    ApplySetting(item);
                }
            }
        }
        public static List<SoundSetting> CopyFromSetting(Guid userId,Guid copyUserId)
        {
            List<SoundSetting> newSoundSettings = new List<SoundSetting>();
            List<string> soundKeys = new List<string>();

            using (SqlConnection sqlConnection = DataAccess.GetInstance().GetSqlConnection())
            {
                SqlCommand command = sqlConnection.CreateCommand();
                command.CommandText = "dbo.CopyFromSoundSetting";
                command.CommandType = CommandType.StoredProcedure;

                command.Parameters.Add(new SqlParameter("@userId",userId));
                command.Parameters.Add(new SqlParameter("@copyUserId",copyUserId));

                using (SqlDataReader reader = command.ExecuteReader())
                {
                    while(reader.Read())
                    {
                        SoundSetting setting = new SoundSetting();
                        SoundType soundType = reader["SoundType"].ConvertToEnumValue<SoundType>();
                        setting.SoundKey = reader["ParameterKey"].ConvertToEnumValue<SoundOption>();
                        setting.SoundPath = (string)reader["ParameterValue"];
                        setting.SoundType = soundType;
                        newSoundSettings.Add(setting);
                        soundKeys.Add(setting.SoundKey.ToString());
                    }
                    reader.NextResult();
                    while (reader.Read())
                    {
                        SoundOption soundKey = reader["SoundKey"].ConvertToEnumValue<SoundOption>();
                        if (soundKeys.Contains(soundKey.ToString())) continue;
                        SoundType soundType = reader["SoundType"].ConvertToEnumValue<SoundType>();

                        SoundSetting setting = new SoundSetting();

                        setting.SoundKey = soundKey;
                        setting.SoundPath = string.Empty;
                        setting.SoundType = soundType;
                        newSoundSettings.Add(setting);
                    }
                }
            }

            return newSoundSettings;
        }
예제 #15
0
    public static void Play(this AudioSource audioSource, AudioClip clip)
    {
        var          clipNamePrefix = clip.name.Split('_')[0];
        SoundSetting soundSetting   = GameDataManager.Instance.GetSoundSetting();

        if (clipNamePrefix == "BG")
        {
            audioSource.volume = soundSetting.bgVolume;
        }
        else if (clipNamePrefix == "FX")
        {
            audioSource.volume = soundSetting.fxVolume;
        }
        else if (clipNamePrefix == "Speack")
        {
            audioSource.volume = soundSetting.speakVolume;
        }
        audioSource.PlayOneShot(clip);
    }
        /// <summary>
        /// 設定データのエクセルシートを読み込む
        /// </summary>
        /// <param name="sheetName">シート名</param>
        /// <param name="grid">シートのStringGridデータ</param>
        public void ParseFromExcel(string sheetName, StringGrid grid)
        {
            importVersion = Version;
            switch (sheetName)
            {
            case SheetNameBoot:
                SettingData.InitFromStringGrid(grid);
                break;

            case SheetNameScenario:
                ScenarioSetting.InitFromStringGrid(grid);
                break;

            case SheetNameCharacter:
                CharacterSetting.InitFromStringGrid(grid);
                break;

            case SheetNameTexture:
                TextureSetting.InitFromStringGrid(grid);
                break;

            case SheetNameSound:
                SoundSetting.InitFromStringGrid(grid);
                break;

            case SheetNameLayer:
                LayerSetting.InitFromStringGrid(grid);
                break;

            case SheetNameParam:
                DefaultParam.InitFromStringGrid(grid);
                break;

            case SheetNameSceneGallery:
                SceneGallerySetting.InitFromStringGrid(grid);
                break;

            default:
                Debug.LogError(LanguageAdvErrorMsg.LocalizeTextFormat(AdvErrorMsg.NotSettingSheet, sheetName));
                break;
            }
        }
        public static byte[] CreatePlayingRegisteredSoundData(MelodySpeakerModel model, bool specifySound, MelodySpeakerSoundStorageArea soundStorageArea, int soundNumber, bool specifyVolume, int volume)
        {
            IMelodySpeakerCommandBuilder builder = StarIoExt.CreateMelodySpeakerCommandBuilder(model);

            SoundSetting setting = new SoundSetting();

            if (specifySound)
            {
                setting.SoundStorageArea = soundStorageArea;
                setting.SoundNumber      = soundNumber;
            }

            if (specifyVolume)
            {
                setting.Volume = volume;
            }

            builder.AppendSound(setting);

            return(builder.Commands);
        }
        public static byte[] CreatePlayingSoundData(MelodySpeakerModel model, string filePath, bool specifyVolume, int volume)
        {
            byte[] data = null;

            using (FileStream stream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read))
            {
                data = new byte[stream.Length];
                stream.Read(data, 0, data.Length);
            }

            IMelodySpeakerCommandBuilder builder = StarIoExt.CreateMelodySpeakerCommandBuilder(model);

            SoundSetting setting = new SoundSetting();

            if (specifyVolume)
            {
                setting.Volume = volume;
            }

            builder.AppendSoundData(data, setting);

            return(builder.Commands);
        }
예제 #19
0
    private void ReadSetting()
    {
        string[] allLanguageNames = LocalizationManager.Instance.GetAllLanguages();
        _languageDropdown.options = allLanguageNames.Select(l => new Dropdown.OptionData(l))
                                    .ToList();
        string currLanguageName = LocalizationManager.Instance.GetCurrLanguageName();
        int    i = 0;

        while (i < allLanguageNames.Length)
        {
            if (allLanguageNames[i] == currLanguageName)
            {
                break;
            }
            ++i;
        }
        _languageDropdown.value = i;

        SoundSetting soundSetting = GameDataManager.Instance.GetSoundSetting();

        _bgVolumeSlider.value     = soundSetting.bgVolume;
        _fxVolumeSlider.value     = soundSetting.fxVolume;
        _speackVolumeSlider.value = soundSetting.speakVolume;
    }
예제 #20
0
 public void SaveSoundSettings(SoundSetting soundSetting)
 {
     SoundSettingRepositorySingleton.Instance.Save(soundSetting);
     SoundSettingRepositorySingleton.Instance.Flush();
 }
예제 #21
0
 public void SaveSoundSetting(SoundSetting soundSetting)
 {
     _gameDataSetting.soundSetting = soundSetting;
     SaveSetting();
 }
예제 #22
0
 /// <summary>
 /// Load setting from file
 /// </summary>
 public void LoadSettingFile()
 {
     soundSetting = new SoundSetting(Application.persistentDataPath + "/" + ExternalFilePath.SOUND_SETTING);
     soundSetting.LoadSettingFile();
 }
        public static SettingsParameter LoadSettingsParameter(Guid userId)
        {
            SettingsParameter settingsParameter = new SettingsParameter();
            DealingOrderParameter dealingOrderParameter = new DealingOrderParameter();
            SetValueSetting setValueSetting = new SetValueSetting();
            List<SoundSetting> soundSettings = new List<SoundSetting>();
            List<string> soundKeys = new List<string>();
            try
            {
                using (SqlConnection con = DataAccess.GetInstance().GetSqlConnection())
                {
                    using (SqlCommand command = con.CreateCommand())
                    {
                        command.CommandText = "[dbo].[P_GetSettingParameter]";
                        command.CommandType = CommandType.StoredProcedure;
                        command.Parameters.Add(new SqlParameter("@userID", userId));
                        using (SqlDataReader reader = command.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                //Guid id = (Guid)reader["Id"];
                                if (settingsParameter.SettingId == Guid.Empty)
                                {
                                    Guid settingId = (Guid)reader["SettingsId"];
                                    settingsParameter.SettingId = settingId;
                                }
                                SettingParameterType SettingType = reader["SettingType"].ConvertToEnumValue<SettingParameterType>();
                                string parameterKey = (string)reader["ParameterKey"];
                                string parameterValue = (string)reader["ParameterValue"];

                                if (SettingType == SettingParameterType.DealingOrderParameter)
                                {
                                    SettingParameterHelper.UpdateSettingValue(dealingOrderParameter, parameterKey, parameterValue);
                                }
                                else if (SettingType == SettingParameterType.SoundParameter)
                                {
                                    SoundSetting setting = new SoundSetting();
                                    SoundType soundType = reader["SoundType"].ConvertToEnumValue<SoundType>();
                                    setting.SoundKey = (SoundOption)Enum.Parse(typeof(SoundOption), parameterKey);
                                    setting.SoundPath = parameterValue;
                                    setting.SoundType = soundType;
                                    soundSettings.Add(setting);
                                    soundKeys.Add(parameterKey);
                                }
                                else if (SettingType == SettingParameterType.SetValueParameter)
                                {
                                    SettingParameterHelper.UpdateSettingValue(setValueSetting, parameterKey, parameterValue);
                                }
                            }
                            reader.NextResult();
                            while (reader.Read())
                            {
                                string soundKey = (string)reader["SoundKey"];
                                if (soundKeys.Contains(soundKey)) continue;
                                SoundType soundType = reader["SoundType"].ConvertToEnumValue<SoundType>();

                                SoundSetting setting = new SoundSetting();

                                setting.SoundKey = (SoundOption)Enum.Parse(typeof(SoundOption), soundKey);
                                setting.SoundPath = string.Empty;
                                setting.SoundType = soundType;
                                soundSettings.Add(setting);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.TraceEvent(TraceEventType.Error, "ExchangeData.LoadSettingsParameter Error:\r\n" + ex.ToString());
            }
            settingsParameter.DealingOrderParameter = dealingOrderParameter;
            settingsParameter.SetValueSetting = setValueSetting;
            settingsParameter.SoundSettings = soundSettings;
            return settingsParameter;
        }
예제 #24
0
 private void Awake()
 {
     _instance = this;
 }
예제 #25
0
 public void SetSetting(SoundSetting setting)
 {
     Source.mute   = setting.Mute;
     Source.pitch  = OriginalPitch * setting.Pitch;
     Source.volume = OriginalVolume * setting.Volume;
 }
 /// <summary>
 /// Event handler for when the Sound menu entry is selected.
 /// </summary>
 void SoundMenuEntrySelected(object sender, PlayerIndexEventArgs e)
 {
     _currentSoundSetting++;
     if (_currentSoundSetting > SoundSetting.Off)
         _currentSoundSetting = 0;
     SetMenuEntryText();
     if (_currentSoundSetting == SoundSetting.Off)
     {
         Player.soundOff = true;
     }
     else
     {
         Player.soundOff = false;
     }
 }