public IAlphaMemory GetNodeMemory(IAlphaMemoryNode node) { if (!_alphaMap.TryGetValue(node, out var memory)) { memory = new AlphaMemory(); _alphaMap[node] = memory; } return(memory); }
/// <summary> /// Called when [alpha memory] is visited. /// </summary> /// <param name="am">The am.</param> public override void OnAlphaMemory(AlphaMemory am) { _sb.Append("").AppendLine(string.Format("Alpha: {0} - ({1})", am, string.Join(", ", am.Conditions.ToArray()))); _sb.Append(_indentString).AppendLine(" |"); _sb.Append(_indentString).AppendLine(" | ====== MATCHES ======"); foreach (ItemInAlphaMemory item in am.Items) { _sb.Append(_indentString).AppendLine(string.Format(" | {0}", item.WME)); } }
/// <summary> /// Called when [alpha memory] is visited. /// </summary> /// <param name="am">The am.</param> public virtual void OnAlphaMemory(AlphaMemory am) { }
public AlphaMemoryElementReference(AlphaMemory <T> alphaMemory, Element <T> element) { _alphaMemory = alphaMemory; _element = element; }