// エフェクトタイプの切り替え 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; }