Package org.vrspace.server.obj
Class EventRecorder
java.lang.Object
org.vrspace.server.obj.Entity
org.vrspace.server.obj.VRObject
org.vrspace.server.obj.Client
org.vrspace.server.obj.User
org.vrspace.server.obj.EventRecorder
Records all events in the world, saves them to the database, plays them back.
This is a special case of Client that has no session, but copies scene and
properties from the client it impersonates. By overriding Client's
sendMessage(), it maintains internal list of received events. Once recording
is done, i.e. stop() is called, event list is persisted to the database.
- Author:
- joe
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addListener
(VRObject obj) protected boolean
boolean
long
getStart()
int
hashCode()
void
init
(WorldManager worldManager, Client client) boolean
isLoop()
boolean
boolean
boolean
boolean
void
play()
Play recorded client events as own events, optionally restart the loop when finished.void
Play back to a client sends all recorded events back to a client, optionally restarts the loop when finished.void
processEvent
(VREvent event) Process an event received from other active objects, typically other users.void
sendMessage
(Object obj) void
void
setEvents
(Collection<PersistentEvent> events) void
void
setLoop
(boolean loop) void
setPlaying
(boolean playing) void
setRecordClient
(boolean recordClient) void
setRecording
(boolean recording) void
setRecordScene
(boolean recordScene) void
setRestart
(ScheduledExecutorService restart) void
setStart
(long start) void
start()
void
stop()
toString()
Methods inherited from class org.vrspace.server.obj.User
createScene, getLeftArmPos, getLeftArmRot, getRightArmPos, getRightArmRot, isHumanoid, isVideo, setHumanoid, setLeftArmPos, setLeftArmRot, setRightArmPos, setRightArmRot, setVideo
Methods inherited from class org.vrspace.server.obj.Client
clearToken, getIdentity, getMapper, getName, getPrivateMapper, getScene, getSceneProperties, getSession, getToken, getTokens, getUserHeight, getWriteBack, isGuest, setGuest, setIdentity, setMapper, setName, setPrivateMapper, setScene, setSceneProperties, setSession, setToken, setTokens, setUserHeight, setWriteBack
Methods inherited from class org.vrspace.server.obj.VRObject
active, addChildren, getActive, getAnimation, getChildren, getListeners, getMesh, getPermanent, getPosition, getProperties, getRotation, getScale, getScript, getTemporary, getWorld, getWorldId, isActive, isPermanent, isTemporary, notifyListeners, passive, removeListener, setActive, setAnimation, setChildren, setListeners, setMesh, setPermanent, setPosition, setProperties, setRotation, setScale, setScript, setTemporary, setWorld, setWorldId
Methods inherited from class org.vrspace.server.obj.Entity
dispose, getId, getObjectId, setId
-
Constructor Details
-
EventRecorder
public EventRecorder() -
EventRecorder
-
-
Method Details
-
init
-
start
public void start() -
stop
public void stop() -
processEvent
Description copied from class:Client
Process an event received from other active objects, typically other users. This implementation serializes the event and sends it over websocket.- Overrides:
processEvent
in classClient
- Parameters:
event
- Whatever has changed
-
sendMessage
- Overrides:
sendMessage
in classClient
-
play
public void play()Play recorded client events as own events, optionally restart the loop when finished. -
play
Play back to a client sends all recorded events back to a client, optionally restarts the loop when finished.- Parameters:
viewer
- Client who's viewing the recording
-
addListener
- Overrides:
addListener
in classVRObject
-
getEvents
-
isRecordClient
public boolean isRecordClient() -
isRecordScene
public boolean isRecordScene() -
isLoop
public boolean isLoop() -
getLength
-
getClient
-
isRecording
public boolean isRecording() -
getStart
public long getStart() -
isPlaying
public boolean isPlaying() -
getRestart
-
setRecordClient
public void setRecordClient(boolean recordClient) -
setRecordScene
public void setRecordScene(boolean recordScene) -
setLoop
public void setLoop(boolean loop) -
setLength
-
setEvents
-
setClient
-
setRecording
public void setRecording(boolean recording) -
setStart
public void setStart(long start) -
setPlaying
public void setPlaying(boolean playing) -
setRestart
-
equals
-
canEqual
-
hashCode
public int hashCode() -
toString
-