public void detach(BaseSprite sprite) { //this.Remove(sName, index); SpriteBatchNode curr = (SpriteBatchNode)this.activeHead; while (curr != null) { if (curr.getSprite() == sprite) { break; } curr = (SpriteBatchNode)curr.next; } if (this.activeHead == curr && curr != null) { activeHead = activeHead.next; if (activeHead != null) { activeHead.prev = null; } } else if(curr != null) { curr.prev.next = curr.next; if (curr.next != null) { curr.next.prev = curr.prev; } } }
public void set(BaseSprite spr) { this.sprite = spr; Debug.Assert(sprite != null); this.name = (SpriteEnum)spr.getName(); this.index = spr.getIndex(); }
public static void attachToGroup(BaseSprite spr, BatchGroup.BatchType bName, Index sprIndex = Index.Index_Null, Index batchIndex = Index.Index_Null) { BatchGroup group = find(bName, batchIndex); Debug.Assert(group != null); group.attach(spr); }
public void attach(BaseSprite spr) { SpriteBatchNode toAdd = (SpriteBatchNode)this.Add(); toAdd.set(spr); spr.setBatch(this); }