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.EntityDatapublic void removeEntity(com.simsilica.es.EntityId entityId)
removeEntity in interface com.simsilica.es.EntityDatapublic void setComponent(com.simsilica.es.EntityId entityId,
com.simsilica.es.EntityComponent component)
setComponent in interface com.simsilica.es.EntityDatapublic void setComponents(com.simsilica.es.EntityId entityId,
com.simsilica.es.EntityComponent... components)
setComponents in interface com.simsilica.es.EntityDatapublic <T extends com.simsilica.es.EntityComponent> boolean removeComponent(com.simsilica.es.EntityId entityId,
java.lang.Class<T> type)
removeComponent in interface com.simsilica.es.EntityDatapublic <T extends com.simsilica.es.EntityComponent> T getComponent(com.simsilica.es.EntityId entityId,
java.lang.Class<T> type)
getComponent in interface com.simsilica.es.EntityDatapublic com.simsilica.es.Entity getEntity(com.simsilica.es.EntityId entityId,
java.lang.Class... types)
getEntity in interface com.simsilica.es.EntityDatapublic com.simsilica.es.EntityId findEntity(com.simsilica.es.ComponentFilter filter,
java.lang.Class... types)
findEntity in interface com.simsilica.es.EntityDataprotected 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.EntityDatapublic com.simsilica.es.EntitySet getEntities(java.lang.Class... types)
getEntities in interface com.simsilica.es.EntityDatapublic com.simsilica.es.EntitySet getEntities(com.simsilica.es.ComponentFilter filter,
java.lang.Class... types)
getEntities in interface com.simsilica.es.EntityDatapublic com.simsilica.es.WatchedEntity watchEntity(com.simsilica.es.EntityId entityId,
java.lang.Class... types)
watchEntity in interface com.simsilica.es.EntityDatapublic com.simsilica.es.StringIndex getStrings()
getStrings in interface com.simsilica.es.EntityDatapublic void addEntityComponentListener(com.simsilica.es.EntityComponentListener l)
addEntityComponentListener in interface com.simsilica.es.ObservableEntityDatapublic void removeEntityComponentListener(com.simsilica.es.EntityComponentListener l)
removeEntityComponentListener in interface com.simsilica.es.ObservableEntityDatapublic void close()
close in interface com.simsilica.es.EntityDatapublic boolean applyChanges(java.util.List<com.simsilica.es.EntityChange> updates)
protected void entityChange(com.simsilica.es.EntityChange change)