Beispiel #1
0
  /**
   * **************************************************** manager self method
   * *****************************************************
   */
  public void clear() {
    if (isDispose) return;

    for (NativeSpriteBackend sprite : mSpriteList) sprite.reset();
    mSpriteList.clear();
    clear(address);
  }
Beispiel #2
0
  public void update(float delta) {
    if (isDispose) return;

    CloneList.clear();
    CloneList.addAll(mSpriteList);
    for (NativeSpriteBackend s : CloneList) {
      s.update(delta);
    }
  }
Beispiel #3
0
  public void dispose() {
    if (isDispose) return;

    isDispose = true;
    for (NativeSpriteBackend sprite : mSpriteList) sprite.dispose();

    mSpriteList.clear();
    world.mManagerMap.remove(address);
    world.DisposeManager(address);
  }
Beispiel #4
0
  /**
   * 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);
  }
Beispiel #5
0
  public void draw(SpriteBatch batch) {
    if (isDispose) return;

    for (NativeSpriteBackend s : mSpriteList) s.draw(batch);
  }
Beispiel #6
0
  /**
   * **************************************************** manager processor
   * *****************************************************
   */
  public void postUpdater(Updater update) {
    if (isDispose) return;

    for (NativeSpriteBackend sprite : mSpriteList) sprite.postUpdater(update);
  }
Beispiel #7
0
  /** remove from java list and native list */
  void unmanage(NativeSpriteBackend sprite) {
    if (isDispose) return;

    mSpriteList.removeValue(sprite, true);
    sprite.unmanage();
  }
Beispiel #8
0
  /**
   * {@link NWorld}
   *
   * @param sprite
   */
  public void remove(NativeSpriteBackend sprite) {
    if (isDispose) return;

    sprite.reset();
  }