// エフェクトタイプの切り替え
        public void ChangeEffect(PE pe)
        {
            switch (currentEffect)
            {
            case ET.SBR:
                pe.WCREnable = true;
                pe.SetDefaultParamsWCR();
                break;

            case ET.WCR:
                pe.AKFEnable = true;
                pe.SetDefaultParamsAKF();
                break;

            case ET.AKF: pe.SNNEnable = true; break;

            case ET.SNN:
                pe.BFEnable = true;
                pe.SetDefaultParamsBF();
                break;

            case ET.BF: pe.OutlineEnable = true; break;

            case ET.Outline:
                pe.SBREnable = true;
                pe.SetDefaultParamsSBR();
                break;

            default:
                pe.SBREnable = true;
                pe.SetDefaultParamsSBR();
                break;
            }
            ValidateEnableFlags(pe);
        }
        private void NextEnableFlags(PE pe, ET nextEffect)
        {
            foreach (ET index in ETypes)
            {
                // 押下されたチェックボックス以外を全て非活性に変更
                if (nextEffect != index)
                {
                    enableFlagCache[(int)index] = enableFlagIndexer[index] = false;
                }
            }

            // 押下された対象がSBRで且つレイヤが無い場合はデフォルトのパラメータを設定する
            if ((nextEffect == ET.SBR) && (pe.SBRParameters.Layers.Length == 0))
            {
                pe.SetDefaultParamsSBR();
            }

            // 押下されたチェックボックスのフラグを活性に変更
            enableFlagCache[(int)nextEffect] = true;
            currentEffect = nextEffect;
        }