Пример #1
0
        /// <summary>
        /// Applies the specified effect on the given state (modifies him!).
        /// </summary>
        /// <param name="effect">Effect for the application.</param>
        /// <param name="state">State.</param>
        /// <param name="substitution">Variables substitution.</param>
        public void Apply(IEffect effect, IState state, ISubstitution substitution)
        {
            State        = state;
            Substitution = substitution;

            effect.Accept(this);

            Substitution = null;
            State        = null;
        }