/** * **************************************************** manager self method * ***************************************************** */ public void clear() { if (isDispose) return; for (NativeSpriteBackend sprite : mSpriteList) sprite.reset(); mSpriteList.clear(); clear(address); }
public void update(float delta) { if (isDispose) return; CloneList.clear(); CloneList.addAll(mSpriteList); for (NativeSpriteBackend s : CloneList) { s.update(delta); } }
public void dispose() { if (isDispose) return; isDispose = true; for (NativeSpriteBackend sprite : mSpriteList) sprite.dispose(); mSpriteList.clear(); world.mManagerMap.remove(address); world.DisposeManager(address); }
/** * 1. Check sprite is pooled ,or alread contained 2. unmanage sprite from its manager 3. manage it */ public void manage(NativeSpriteBackend sprite) { if (isDispose) return; if (sprite.isPooled || mSpriteList.contains(sprite, true)) return; if (sprite.manager != null) sprite.manager.unmanage(sprite); sprite.manager = this; mSpriteList.add(sprite); manage(address, sprite.address); }
public void draw(SpriteBatch batch) { if (isDispose) return; for (NativeSpriteBackend s : mSpriteList) s.draw(batch); }
/** * **************************************************** manager processor * ***************************************************** */ public void postUpdater(Updater update) { if (isDispose) return; for (NativeSpriteBackend sprite : mSpriteList) sprite.postUpdater(update); }
/** remove from java list and native list */ void unmanage(NativeSpriteBackend sprite) { if (isDispose) return; mSpriteList.removeValue(sprite, true); sprite.unmanage(); }
/** * {@link NWorld} * * @param sprite */ public void remove(NativeSpriteBackend sprite) { if (isDispose) return; sprite.reset(); }