public class EntityDataWrapper
extends java.lang.Object
implements com.simsilica.es.ObservableEntityData
The main purpose of this wrapper is to have a consistent view between the EntityChanges applied and what the EntitySets have queued. This facilitates sending appropriate changes to the client 'mirror' of this data.
Modifier and Type | Class and Description |
---|---|
protected class |
EntityDataWrapper.LocalEntitySet
A local DefaultEntitySet subclass only so that we can have
access to some protected methods and potentially hook into some
other stuff.
|
Constructor and Description |
---|
EntityDataWrapper(com.simsilica.es.ObservableEntityData delegate) |
Modifier and Type | Method and Description |
---|---|
void |
addEntityComponentListener(com.simsilica.es.EntityComponentListener l) |
boolean |
applyChanges(java.util.List<com.simsilica.es.EntityChange> updates)
Applies the queued changes to this
|
void |
close() |
com.simsilica.es.EntityId |
createEntity() |
protected void |
entityChange(com.simsilica.es.EntityChange change) |
java.util.Set<com.simsilica.es.EntityId> |
findEntities(com.simsilica.es.ComponentFilter filter,
java.lang.Class... types) |
com.simsilica.es.EntityId |
findEntity(com.simsilica.es.ComponentFilter filter,
java.lang.Class... types) |
protected com.simsilica.es.ComponentFilter |
forType(com.simsilica.es.ComponentFilter filter,
java.lang.Class type) |
<T extends com.simsilica.es.EntityComponent> |
getComponent(com.simsilica.es.EntityId entityId,
java.lang.Class<T> type) |
com.simsilica.es.EntitySet |
getEntities(java.lang.Class... types) |
com.simsilica.es.EntitySet |
getEntities(com.simsilica.es.ComponentFilter filter,
java.lang.Class... types) |
com.simsilica.es.Entity |
getEntity(com.simsilica.es.EntityId entityId,
java.lang.Class... types) |
com.simsilica.es.StringIndex |
getStrings() |
java.lang.Class<com.simsilica.es.EntityComponent>[] |
getTypes(com.simsilica.es.EntitySet set)
Provides direct access to a set's type list to allow efficient mark/sweep
iteration.
|
void |
registerComponentVisibility(ComponentVisibility visibility)
Registers a ComponentVisibility strategy object that will limit this client's
view of the specific handled component values.
|
<T extends com.simsilica.es.EntityComponent> |
removeComponent(com.simsilica.es.EntityId entityId,
java.lang.Class<T> type) |
void |
removeEntity(com.simsilica.es.EntityId entityId) |
void |
removeEntityComponentListener(com.simsilica.es.EntityComponentListener l) |
void |
setComponent(com.simsilica.es.EntityId entityId,
com.simsilica.es.EntityComponent component) |
void |
setComponents(com.simsilica.es.EntityId entityId,
com.simsilica.es.EntityComponent... components) |
com.simsilica.es.WatchedEntity |
watchEntity(com.simsilica.es.EntityId entityId,
java.lang.Class... types) |
public EntityDataWrapper(com.simsilica.es.ObservableEntityData delegate)
public void registerComponentVisibility(ComponentVisibility visibility)
public java.lang.Class<com.simsilica.es.EntityComponent>[] getTypes(com.simsilica.es.EntitySet set)
public com.simsilica.es.EntityId createEntity()
createEntity
in interface com.simsilica.es.EntityData
public void removeEntity(com.simsilica.es.EntityId entityId)
removeEntity
in interface com.simsilica.es.EntityData
public void setComponent(com.simsilica.es.EntityId entityId, com.simsilica.es.EntityComponent component)
setComponent
in interface com.simsilica.es.EntityData
public void setComponents(com.simsilica.es.EntityId entityId, com.simsilica.es.EntityComponent... components)
setComponents
in interface com.simsilica.es.EntityData
public <T extends com.simsilica.es.EntityComponent> boolean removeComponent(com.simsilica.es.EntityId entityId, java.lang.Class<T> type)
removeComponent
in interface com.simsilica.es.EntityData
public <T extends com.simsilica.es.EntityComponent> T getComponent(com.simsilica.es.EntityId entityId, java.lang.Class<T> type)
getComponent
in interface com.simsilica.es.EntityData
public com.simsilica.es.Entity getEntity(com.simsilica.es.EntityId entityId, java.lang.Class... types)
getEntity
in interface com.simsilica.es.EntityData
public com.simsilica.es.EntityId findEntity(com.simsilica.es.ComponentFilter filter, java.lang.Class... types)
findEntity
in interface com.simsilica.es.EntityData
protected com.simsilica.es.ComponentFilter forType(com.simsilica.es.ComponentFilter filter, java.lang.Class type)
public java.util.Set<com.simsilica.es.EntityId> findEntities(com.simsilica.es.ComponentFilter filter, java.lang.Class... types)
findEntities
in interface com.simsilica.es.EntityData
public com.simsilica.es.EntitySet getEntities(java.lang.Class... types)
getEntities
in interface com.simsilica.es.EntityData
public com.simsilica.es.EntitySet getEntities(com.simsilica.es.ComponentFilter filter, java.lang.Class... types)
getEntities
in interface com.simsilica.es.EntityData
public com.simsilica.es.WatchedEntity watchEntity(com.simsilica.es.EntityId entityId, java.lang.Class... types)
watchEntity
in interface com.simsilica.es.EntityData
public com.simsilica.es.StringIndex getStrings()
getStrings
in interface com.simsilica.es.EntityData
public void addEntityComponentListener(com.simsilica.es.EntityComponentListener l)
addEntityComponentListener
in interface com.simsilica.es.ObservableEntityData
public void removeEntityComponentListener(com.simsilica.es.EntityComponentListener l)
removeEntityComponentListener
in interface com.simsilica.es.ObservableEntityData
public void close()
close
in interface com.simsilica.es.EntityData
public boolean applyChanges(java.util.List<com.simsilica.es.EntityChange> updates)
protected void entityChange(com.simsilica.es.EntityChange change)