@Override public void validate(int sourceId, IntBag ids, LinkListener listener) { for (int i = 0; ids.size() > i; i++) { int id = ids.get(i); if (!all.getActiveEntityIds().unsafeGet(id)) { ids.remove(i--); if (listener != null) listener.onTargetDead(sourceId, id); } } }
@Override public void validate(int sourceId, IntBag ids, LinkListener listener) { for (int i = 0; ids.size() > i; i++) { int id = ids.get(i); if (!all.getActiveEntityIds().unsafeGet(id)) { ids.remove(i--); if (listener != null) listener.onTargetDead(sourceId, id); } } }
@Override public void validate(int sourceId, IntBag ids, LinkListener listener) { for (int i = 0; ids.size() > i; i++) { int id = ids.get(i); if (!all.getActiveEntityIds().unsafeGet(id)) { ids.remove(i--); if (listener != null) listener.onTargetDead(sourceId, id); } } }
@Override public void validate(int sourceId, IntBag ids, LinkListener listener) { for (int i = 0; ids.size() > i; i++) { int id = ids.get(i); if (!all.getActiveEntityIds().unsafeGet(id)) { ids.remove(i--); if (listener != null) listener.onTargetDead(sourceId, id); } } }
@Override public void validate(int sourceId, Bag<Entity> entities, LinkListener listener) { for (int i = 0; entities.size() > i; i++) { Entity e = entities.get(i); if (!all.getActiveEntityIds().unsafeGet(e.getId())) { entities.remove(i--); if (listener != null) listener.onTargetDead(sourceId, e.getId()); } } }
@Override public void validate(int sourceId, Bag<Entity> entities, LinkListener listener) { for (int i = 0; entities.size() > i; i++) { Entity e = entities.get(i); if (!all.getActiveEntityIds().unsafeGet(e.getId())) { entities.remove(i--); if (listener != null) listener.onTargetDead(sourceId, e.getId()); } } }
@Override public void validate(int sourceId, Bag<Entity> entities, LinkListener listener) { for (int i = 0; entities.size() > i; i++) { Entity e = entities.get(i); if (!all.getActiveEntityIds().unsafeGet(e.getId())) { entities.remove(i--); if (listener != null) listener.onTargetDead(sourceId, e.getId()); } } }
@Override public void validate(int sourceId, Bag<Entity> entities, LinkListener listener) { for (int i = 0; entities.size() > i; i++) { Entity e = entities.get(i); if (!all.getActiveEntityIds().unsafeGet(e.getId())) { entities.remove(i--); if (listener != null) listener.onTargetDead(sourceId, e.getId()); } } }
/** * <p>If all entties have been deleted, resets the entity cache - with next entity * entity receiving id <code>0</code>. There mustn't be any active entities in * the world for this method to work. This method does nothing if it fails.</p> * * <p>For the reset to take effect, a new {@link World#process()} must initiate.</p> * * @return true if entity id was successfully reset. * */ public boolean reset() { int count = world.getAspectSubscriptionManager() .get(all()) .getActiveEntityIds() .cardinality(); if (count > 0) return false; limbo.clear(); recycled.clear(); entities.clear(); nextId = 0; return true; }
/** * <p>If all entties have been deleted, resets the entity cache - with next entity * entity receiving id <code>0</code>. There mustn't be any active entities in * the world for this method to work. This method does nothing if it fails.</p> * * <p>For the reset to take effect, a new {@link World#process()} must initiate.</p> * * @return true if entity id was successfully reset. * */ public boolean reset() { int count = world.getAspectSubscriptionManager() .get(all()) .getActiveEntityIds() .cardinality(); if (count > 0) return false; limbo.clear(); recycled.clear(); entities.clear(); nextId = 0; return true; }
protected LinkSite(World world, ComponentType type, Field field, LinkPolicy.Policy defaultPolicy) { this.type = type; this.field = field; LinkPolicy.Policy policyOverride = LinkFactory.getPolicy(field); this.policy = (policyOverride != null) ? policyOverride : defaultPolicy; mapper = world.getMapper(type.getType()); activeEntityIds = world.getAspectSubscriptionManager().get(all()).getActiveEntityIds(); AspectSubscriptionManager subscriptions = world.getAspectSubscriptionManager(); subscription = subscriptions.get(all(type.getType())); subscription.addSubscriptionListener(this); }
protected LinkSite(World world, ComponentType type, Field field, LinkPolicy.Policy defaultPolicy) { this.type = type; this.field = field; LinkPolicy.Policy policyOverride = LinkFactory.getPolicy(field); this.policy = (policyOverride != null) ? policyOverride : defaultPolicy; mapper = world.getMapper(type.getType()); activeEntityIds = world.getAspectSubscriptionManager().get(all()).getActiveEntityIds(); AspectSubscriptionManager subscriptions = world.getAspectSubscriptionManager(); subscription = subscriptions.get(all(type.getType())); subscription.addSubscriptionListener(this); }