IntBag xNeighbors = new IntBag(8); IntBag yNeighbors = new IntBag(8); // Get moore neighbors Bag neigh = s.protonLayer.getMooreNeighbors(location.getX(), location.getY(), 1, Grid2D.BOUNDED, new Bag(), xNeighbors, yNeighbors ); for (int i = 0; i < xNeighbors.numObjs; i++) { System.out.print(" x = " + xNeighbors.get(i)); System.out.println(" : y = " + yNeighbors.get(i));}
private boolean updateReferenced(IntBag ids, BitVector referencedIds) { boolean updated = false; for (int i = 0; i < ids.size(); i++) updated |= updateReferenced(ids.get(i), referencedIds); return updated; }
private boolean updateReferenced(IntBag ids, BitVector referencedIds) { boolean updated = false; for (int i = 0; i < ids.size(); i++) updated |= updateReferenced(ids.get(i), referencedIds); return updated; }
private void fireLinkListener(int id, int target) { int oldTarget = sourceToTarget.get(id); if (oldTarget == -1) { listener.onLinkEstablished(id, target); } else if (target != -1) { listener.onTargetChanged(id, target, oldTarget); } else { listener.onTargetDead(id, oldTarget); } }
@Override protected void removed(int id) { int target = sourceToTarget.size() > id ? sourceToTarget.get(id) : -1; if (target != -1) sourceToTarget.set(id, -1); if (listener != null) listener.onLinkKilled(id, target); } }
private void fireLinkListener(int id, int target) { int oldTarget = sourceToTarget.get(id); if (oldTarget == -1) { listener.onLinkEstablished(id, target); } else if (target != -1) { listener.onTargetChanged(id, target, oldTarget); } else { listener.onTargetDead(id, oldTarget); } }
@Override protected void removed(int id) { int target = sourceToTarget.size() > id ? sourceToTarget.get(id) : -1; if (target != -1) sourceToTarget.set(id, -1); if (listener != null) listener.onLinkKilled(id, target); } }
void translate(Component c, Field field, Bag<Entity> translatedIds) { try { IntBag bag = (IntBag) field.get(c); for (int i = 0, s = bag.size(); s > i; i++) { int oldId = bag.get(i); bag.set(i, translatedIds.get(oldId).getId()); } } catch (ReflectionException e) { throw new RuntimeException(e); } } },
void translate(Component c, Field field, Bag<Entity> translatedIds) { try { IntBag bag = (IntBag) field.get(c); for (int i = 0, s = bag.size(); s > i; i++) { int oldId = bag.get(i); bag.set(i, translatedIds.get(oldId).getId()); } } catch (ReflectionException e) { throw new RuntimeException(e); } } },
@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 write(Json json, IntBag entities, Class knownType) { recursionLevel++; if (recursionLevel == 1) { json.writeObjectStart(); for (int i = 0, s = entities.size(); s > i; i++) { Entity e = world.getEntity(entities.get(i)); json.writeValue(Integer.toString(e.getId()), e); } json.writeObjectEnd(); } else { json.writeArrayStart(); for (int i = 0, s = entities.size(); s > i; i++) { json.writeValue(entities.get(i)); } json.writeArrayEnd(); } recursionLevel--; }
@Override public void write (Kryo kryo, Output output, IntBag entities) { recursionLevel++; output.writeInt(entities.size()); if (recursionLevel == 1) { for (int i = 0, s = entities.size(); s > i; i++) { Entity e = world.getEntity(entities.get(i)); output.writeInt(e.getId()); kryo.writeObject(output, e); } } else { for (int i = 0, s = entities.size(); s > i; i++) { output.writeInt(entities.get(i)); } } recursionLevel--; }
@Override public void write(Json json, IntBag entities, Class knownType) { recursionLevel++; if (recursionLevel == 1) { json.writeObjectStart(); for (int i = 0, s = entities.size(); s > i; i++) { Entity e = world.getEntity(entities.get(i)); json.writeValue(Integer.toString(e.getId()), e); } json.writeObjectEnd(); } else { json.writeArrayStart(); for (int i = 0, s = entities.size(); s > i; i++) { json.writeValue(entities.get(i)); } json.writeArrayEnd(); } recursionLevel--; }
@Override public void write(Json json, IntBag entities, Class knownType) { recursionLevel++; if (recursionLevel == 1) { json.writeObjectStart(); for (int i = 0, s = entities.size(); s > i; i++) { Entity e = world.getEntity(entities.get(i)); json.writeValue(Integer.toString(e.getId()), e); } json.writeObjectEnd(); } else { json.writeArrayStart(); for (int i = 0, s = entities.size(); s > i; i++) { json.writeValue(entities.get(i)); } json.writeArrayEnd(); } recursionLevel--; }
@Override public void write (Kryo kryo, Output output, IntBag entities) { recursionLevel++; output.writeInt(entities.size()); if (recursionLevel == 1) { for (int i = 0, s = entities.size(); s > i; i++) { Entity e = world.getEntity(entities.get(i)); output.writeInt(e.getId()); kryo.writeObject(output, e); } } else { for (int i = 0, s = entities.size(); s > i; i++) { output.writeInt(entities.get(i)); } } recursionLevel--; }
@Override protected void check(int id) { // -1 == not linked int target = fieldMutator.read(mapper.get(id), field); if (target != -1 && !activeEntityIds.unsafeGet(target)) { // target is dead or linked field is set to null/-1 target = -1; fieldMutator.write(target, mapper.get(id), field); } int oldTarget = sourceToTarget.get(id); if (target != oldTarget) { if (listener != null) { fireLinkListener(id, target); } sourceToTarget.set(id, target); } }
@Override protected void check(int id) { // -1 == not linked int target = fieldMutator.read(mapper.get(id), field); if (target != -1 && !activeEntityIds.unsafeGet(target)) { // target is dead or linked field is set to null/-1 target = -1; fieldMutator.write(target, mapper.get(id), field); } int oldTarget = sourceToTarget.get(id); if (target != oldTarget) { if (listener != null) { fireLinkListener(id, target); } sourceToTarget.set(id, target); } }