AjRools.Expert.World.ProcessAssertedFact C# (CSharp) Method

ProcessAssertedFact() private method

private ProcessAssertedFact ( NameVerbValueFact fact ) : void
fact AjRools.Expert.Facts.NameVerbValueFact
return void
        private void ProcessAssertedFact(NameVerbValueFact fact)
        {
            IList<Rule> newfired = new List<Rule>();

            foreach (var rule in this.notfired)
                if (rule.Conditions.Any(c => c is NameVerbValueFact && ((NameVerbValueFact)c).Name == fact.Name))
                    if (rule.FireIfReady(this))
                        newfired.Add(rule);

            foreach (var rule in newfired)
            {
                this.notfired.Remove(rule);
                this.fired.Add(rule);
            }
        }

Same methods

World::ProcessAssertedFact ( Fact fact ) : void