///-------------------------------------------------------------------------
        /// <summary>更新</summary>
        ///-------------------------------------------------------------------------
        public void Update()
        {
            try
            {
                if (this.envView != null)
                {
                    this.envView.ShowGizmos(GizmoRender.UIVisible);
                }

                if (this.dataView != null && this.dataView.wantsLanguageChange)
                {
                    string lang = this.dataView.LanguageValue;
                    if (Translation.HasTranslation(lang))
                    {
                        Preferences["Config"]["Language"].Value = dataView.LanguageValue;
                        configLanguage = dataView.LanguageValue;
                        SaveConfig();

                        this.dataView.wantsLanguageChange = false;
                    }
                }
                // Bloom has to be loaded by the game first
                if (!initialized)
                {
                    {
                        this.Initialize();
                        this.effectView.Update();
                        this.initialized = true;
                    }
                }

                // 機能有効の場合
                // if( this.Enable )

                if (this.envView != null)
                {
                    // F10押下
                    if (Input.GetKeyDown(configEffectKey))
                    {
                        if (this.modeSelectView.SelectedMode == ConstantValues.EditMode.Effect)
                        {
                            this.modeSelectView.SelectedMode = ConstantValues.EditMode.Disable;
                        }
                        else
                        {
                            this.modeSelectView.SelectedMode = ConstantValues.EditMode.Effect;
                        }
                    }
                    // F11押下
                    else if (Input.GetKeyDown(configEnvironmentKey))
                    {
                        if (this.modeSelectView.SelectedMode == ConstantValues.EditMode.Environment)
                        {
                            this.modeSelectView.SelectedMode = ConstantValues.EditMode.Disable;
                        }
                        else
                        {
                            this.modeSelectView.SelectedMode = ConstantValues.EditMode.Environment;
                        }
                    }
                    // C押下
                    else if (Input.GetKeyDown(configDataKey))
                    {
                        if (this.modeSelectView.SelectedMode == ConstantValues.EditMode.Data)
                        {
                            this.modeSelectView.SelectedMode = ConstantValues.EditMode.Disable;
                        }
                        else
                        {
                            this.modeSelectView.SelectedMode = ConstantValues.EditMode.Data;
                        }
                    }

                    // エディットモードの場合
                    if (this.IsEditMode)
                    {
                        // 両方のボタン有効
                        this.modeSelectView.IsEnableEffectSettingButton      = true;
                        this.modeSelectView.IsEnableEnvironmentSettingButton = true;
                        this.modeSelectView.IsEnableDataSettingButton        = true;
                    }
                    // 夜伽モードの場合
                    else if (this.IsYotogiMode)
                    {
                        // 環境設定のみ有効
                        this.modeSelectView.IsEnableEffectSettingButton      = true;
                        this.modeSelectView.IsEnableEnvironmentSettingButton = true;
                        this.modeSelectView.IsEnableDataSettingButton        = true;
                    }
                    else
                    {
                        this.modeSelectView.IsEnableEffectSettingButton      = true;
                        this.modeSelectView.IsEnableEnvironmentSettingButton = true;
                        this.modeSelectView.IsEnableDataSettingButton        = true;
                    }

                    if (this.envView.ShouldUpdate)
                    {
                        if (this.dataView.wasPresetLoaded)
                        {
                            Debug.Log(" === Scene Reload === ");
                            this.envView.Update();
                            this.effectView.Update();
                            this.dataView.Update();
                            this.dataView.wasPresetLoaded = false;
                        }
                        // 環境画面有効の場合
                        else if (this.modeSelectView.SelectedMode == ConstantValues.EditMode.Environment)
                        {
                            this.envView.Update();
                        }
                        // それ以外の場合
                        else if (this.modeSelectView.SelectedMode == ConstantValues.EditMode.Effect)
                        {
                            this.effectView.Update();
                        }
                        else if (this.modeSelectView.SelectedMode == ConstantValues.EditMode.Data)
                        {
                            this.dataView.Update();
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Debug.LogError(e.ToString());
            }
        }