public void Update() { GameObjectRef pNode = (GameObjectRef)BaseGetActive(); while (pNode != null) { if (pNode.GetGameObject() != null) { // Update the node pNode.GetGameObject().Update(); } pNode = (GameObjectRef)pNode.GetNext(); } }
public GameObject Find(GameObject.Name name) { // Compare functions only compares two Nodes pGameObjectCompare.GetGameObject().SetName(name); GameObjectRef pNode = (GameObjectRef)BaseFind(pGameObjectCompare); if (pNode != null) { return(pNode.GetGameObject()); } return(null); }
// Currently necessary for Detach() since GameObject.Name is not unique private Boolean HashCodeCompare(DLink pLinkA, DLink pLinkB) { Debug.Assert(pLinkA != null); Debug.Assert(pLinkB != null); GameObjectRef pDataA = (GameObjectRef)pLinkA; GameObjectRef pDataB = (GameObjectRef)pLinkB; Boolean status = false; if (pDataA.GetGameObject().GetHashCode() == pDataB.GetGameObject().GetHashCode()) { status = true; } return(status); }
override protected Boolean DerivedCompare(DLink pLinkA, DLink pLinkB) { // This is used in baseFind() Debug.Assert(pLinkA != null); Debug.Assert(pLinkB != null); GameObjectRef pDataA = (GameObjectRef)pLinkA; GameObjectRef pDataB = (GameObjectRef)pLinkB; Boolean status = false; if (pDataA.GetGameObject().GetName() == pDataB.GetGameObject().GetName()) { status = true; } return(status); }