public LogicBlob AddLogic(ICombatLogic logic) { LogicBlob blob; logicBlobMap.TryGetValue (logic, out blob); if (blob == null) { blob = new LogicBlob (this, logic); logicBlobMap[logic] = blob; } return blob; }
public void Add(ICombatLogic result) { m_CompositeResult.Add (result); }
private GraphNode GetNode(ICombatLogic logic, Dictionary<ICombatLogic, GraphNode> nodes) { GraphNode node; nodes.TryGetValue(logic, out node); if (node == null) { node = new GraphNode(logic); nodes[logic] = node; } return node; }
public LogicBlob AddLogic(ICombatLogic logic) { return builder.AddLogic (logic); }
internal LogicBlob(Builder builder, ICombatLogic logic) { this.builder = builder; this.logic = logic; this.conditionBlob = EMPTY_CONDITION; }
internal ConditionBlob(ICombatLogic[] conditions, Evaluate evalFunc) { this.conditions = conditions; this.evalFunc = evalFunc; }
internal GraphNode(ICombatLogic logic) { node = logic; incomingNodes = new HashSet<GraphNode>(); outgoingNodes = new HashSet<GraphNode>(); }