public void RemoveThisIf(VariableSet variableSet)
        {
            if (GameLevel == null)
            {
                return;
            }

            LevelVariable conditionVariable = variableSet.Variables[0];
            LevelVariable levelVariable     = GameLevel.GetVariable(conditionVariable.Name);

            if (levelVariable == null ||
                levelVariable.AsString() != conditionVariable.DataValue)
            {
                return;
            }

            HideCaption();

            AudioClip destroyAudio = conditionVariable.ObjectValue as AudioClip;

            if (destroyAudio != null)
            {
                PlayOneShotAudio(destroyAudio);
            }

            Destroy(this.gameObject);
        }
        public void SetVariable(VariableSet variableSet)
        {
            if (GameLevel == null)
            {
                return;
            }

            foreach (LevelVariable variable in variableSet.Variables)
            {
                GameLevel.SetVariable(variable);
            }
        }