public void AddNodeGroup(int myAnt, int theirAnt, IEnumerable <LinkOption> options) { if (!ours.ContainsKey(myAnt)) { ours.Add(myAnt, new ControllableNode()); } ControllableNode myAntNode = ours[myAnt]; if (!theirs.ContainsKey(theirAnt)) { theirs.Add(theirAnt, new Node()); } Node theirAntNode = theirs[theirAnt]; Link link = new Link(); link.a = myAntNode; link.b = theirAntNode; link.options = options.ToArray(); myAntNode.links.Add(link); theirAntNode.links.Add(link); }
public float GetEngagement(int antId) { ControllableNode myAnt = ours[antId]; return(myAnt.links.Sum(l => l.options[(int)myAnt.direction].probability)); }