public void remove(batchEnum _enum, GameObject _obj) { GameObjNode node = findGameObj(_obj); if (node != null) { if (node.prev != null) { // middle or last node node.prev.next = node.next; } else { // first this.active = node.next; } if (node.next != null) { // middle node node.next.prev = node.prev; } addBodyToDestroy(_obj.physicsObj.body); if (_obj.spriteRef != null) { SBNode SBNode = SpriteBatchManager.Instance().getBatch(_enum); SBNode.removeDisplayObject(_obj.spriteRef); } if (_obj.physicsObj != null) { PhysicsMan.Instance().removePhysicsObj(_obj.physicsObj); } } }
public GameObject FindByID(int id) { ManLink ptr = this.active; ManLink outNode = null; while (ptr != null) { if ((ptr as GameObjNode).gameObj.GameID.Equals(id)) { outNode = ptr; break; } //{ // outNode = ptr; // break; //} ptr = ptr.next; } GameObjNode tmpNode = outNode as GameObjNode; if (tmpNode != null) { return(tmpNode.gameObj); } else { return(null); } //return (outNode as GameObjNode).gameObj; // return (CollisionManager.GameObject)outNode; }
// For Linked List public void addGameObj(GameObject _obj) { GameObjNode node = new GameObjNode(); node.Set(_obj); node.gameObj.gameId = count++; this.privActiveAddToFront((ManLink)node, ref this.active); }
// For Linked List public void addGameObj(GameObject _obj) { GameID_To_TransferToGameObject++; GameObjNode node = new GameObjNode(); node.Set(_obj); node.gameObj.GameID = GameID_To_TransferToGameObject; this.privActiveAddToFront((ManLink)node, ref this.active); }
public void Update(World w) { ManLink ptr = this.active; GameObjNode gameObjNode = null; while (ptr != null) { gameObjNode = (GameObjNode)ptr; gameObjNode.gameObj.Update(); ptr = ptr.next; } destroyBodies(w); }