using System; using Ichni.RhythmGame.Beatmap; using UnityEngine; namespace Ichni.RhythmGame { public class EnableControlEffect : EffectBase { #region [效果参数] Effect Parameters public GameElement connectedGameElement; public string connectedVariableName; public int enableValue; public bool useExpression; public string expression; #endregion #region [初始化] Initialization public EnableControlEffect(GameElement connectedGameElement, string connectedVariableName, int enableValue, bool useExpression, string expression) { this.effectTime = 0; this.connectedGameElement = connectedGameElement; this.connectedVariableName = connectedVariableName; this.enableValue = enableValue; this.useExpression = useExpression; this.expression = expression; } #endregion #region [效果逻辑覆盖] Effect Pattern Overrides public override void Recover() { if (connectedGameElement == null) return; connectedGameElement.gameObject.SetActive(false); } public override void Adjust() { if (connectedGameElement == null) return; if (!useExpression) { int value = GameManager.Instance.variablesContainer.GetVariable(connectedVariableName); connectedGameElement.gameObject.SetActive(value == enableValue); } else { } } #endregion } }