@Override public boolean exists() { updateRealEntityRef(); return this.realEntityRef.exists(); }
private void inputEventSetup(InputEvent event, JsonObject jsonObject) { float delta = jsonObject.get("delta").getAsFloat(); boolean consumed = jsonObject.get("consumed").getAsBoolean(); EntityRef target = new RecordedEntityRef(jsonObject.get("target").getAsLong(), (LowLevelEntityManager) this.entityManager); JsonObject aux = jsonObject.get("hitNormal").getAsJsonObject(); Vector3f hitNormal = new Vector3f(aux.get("x").getAsFloat(), aux.get("y").getAsFloat(), aux.get("z").getAsFloat()); aux = jsonObject.get("hitPosition").getAsJsonObject(); Vector3f hitPosition = new Vector3f(aux.get("x").getAsFloat(), aux.get("y").getAsFloat(), aux.get("z").getAsFloat()); aux = jsonObject.get("targetBlockPosition").getAsJsonObject(); Vector3i targetBlockPosition = new Vector3i(aux.get("x").getAsInt(), aux.get("y").getAsInt(), aux.get("z").getAsInt()); event.setTargetInfo(target, targetBlockPosition, hitPosition, hitNormal); } }
GsonDeserializationContext deserializationContext = new GsonDeserializationContext(null); if (className.equals(CameraTargetChangedEvent.class.getName())) { EntityRef oldTarget = new RecordedEntityRef(jsonObject.get("OldTarget").getAsLong(), (LowLevelEntityManager) this.entityManager); EntityRef newTarget = new RecordedEntityRef(jsonObject.get("NewTarget").getAsLong(), (LowLevelEntityManager) this.entityManager); result = new CameraTargetChangedEvent(oldTarget, newTarget); } else if (className.equals(PlaySoundEvent.class.getName())) { result = event; } else if (className.equals(AttackEvent.class.getName())) { EntityRef instigator = new RecordedEntityRef(jsonObject.get("instigator").getAsLong(), (LowLevelEntityManager) this.entityManager); EntityRef directCause = new RecordedEntityRef(jsonObject.get("directCause").getAsLong(), (LowLevelEntityManager) this.entityManager); result = new AttackEvent(instigator, directCause); } else if (getInputEventSpecificType(jsonObject, className, deserializationContext) != null) { //input events
@Override public <T extends Event> T send(T event) { updateRealEntityRef(); return this.realEntityRef.send(event); }
@Override public long getId() { updateRealEntityRef(); return this.realEntityRef.getId(); }
@Override public void removeComponent(Class<? extends Component> componentClass) { updateRealEntityRef(); this.realEntityRef.removeComponent(componentClass); }
@Override public <T extends Component> T getComponent(Class<T> componentClass) { updateRealEntityRef(); return this.realEntityRef.getComponent(componentClass); }
@Override public void setOwner(EntityRef owner) { updateRealEntityRef(); this.realEntityRef.setOwner(owner); }
@Override public <T extends Component> T addComponent(T component) { updateRealEntityRef(); return this.realEntityRef.addComponent(component); }
@Override public void saveComponent(Component component) { updateRealEntityRef(); this.realEntityRef.saveComponent(component); }
@Override public boolean hasComponent(Class<? extends Component> component) { updateRealEntityRef(); return this.realEntityRef.hasComponent(component); }
@Override public Iterable<Component> iterateComponents() { updateRealEntityRef(); return this.realEntityRef.iterateComponents(); }
@Override public void destroy() { updateRealEntityRef(); this.realEntityRef.destroy(); }
@Override public boolean isPersistent() { updateRealEntityRef(); return this.realEntityRef.isPersistent(); }
@Override public boolean isAlwaysRelevant() { updateRealEntityRef(); return this.realEntityRef.isAlwaysRelevant(); }
@Override public void setAlwaysRelevant(boolean alwaysRelevant) { updateRealEntityRef(); this.realEntityRef.setAlwaysRelevant(alwaysRelevant); }
@Override public EntityRef copy() { updateRealEntityRef(); return this.realEntityRef.copy(); }
@Override public boolean isActive() { updateRealEntityRef(); return this.realEntityRef.isActive(); }
@Override public EntityRef getOwner() { updateRealEntityRef(); return this.realEntityRef.getOwner(); }
@Override public Prefab getParentPrefab() { updateRealEntityRef(); return this.realEntityRef.getParentPrefab(); }