Ken Webb 2010-11-17T00:00:00Z
A JavaScript script to clear all agents from the simulation.
<script implName="lang:javascript:inline:"><![CDATA[ /* Clear Agents Clear all agents from the simulation. An agent is any child of a HabitatCell, for example: - a Cat, Human or other active object - a House or other more passive object This JavaScript script does two things: 1. dequeue all objects from the Beasts Q 2. remove all objects in the tree that are children or descendants of a HabitatCell node You can run this script on the Bestiary node, or any node in the tree that's a descendant of Bestiary. */ var contextNode = contextNodeKey; function clearBeastQ(qNode) { item = qNode.dequeue(); while (item) { item = qNode.dequeue(); } } function clearAgents(node) { myXhcName = node.getXhcName(); if (myXhcName == 'Beasts') { clearBeastQ(node); } else if (myXhcName == 'HabitatCell') { // remove all children of the HabitatCell myChild = node.getFirstChild(); while (myChild) { myChildTemp = myChild.getNextSibling(); myChild.removeChild(); myChild = myChildTemp; // get sibling of removed node, if any } } node = node.getFirstChild(); while (node) { clearAgents(node); node = node.getNextSibling(); } } contextNode = contextNode.getRootNode(); clearAgents(contextNode); ]]></script>