|
From: <tre...@us...> - 2007-10-18 18:56:43
|
Revision: 508
http://ogoglio.svn.sourceforge.net/ogoglio/?rev=508&view=rev
Author: trevorolio
Date: 2007-10-18 11:56:46 -0700 (Thu, 18 Oct 2007)
Log Message:
-----------
Two thirds of the way to sitting:
Added a "Sit Here" context menu item for things made from templates with seat metadata.
Bound the avatar renderable to the seat thing renderable's transform group (hello, flying sofa).
If an avatar moves or teleports while seated, it stands.
Tried to be somewhat good about progressive loading, showing standing avatars before things and then sitting avatars.
Not yet done:
Call the sit animation.
Add seat metadata UI to the template editor HTML.
Make a flying Le Corbusier sofa with info panel controls.
Modified Paths:
--------------
maven/trunk/ogoglio-server/src/main/java/com/ogoglio/sim/SpaceSimulator.java
maven/trunk/ogoglio-server/src/main/java/com/ogoglio/sim/script/SpaceScriptEngine.java
Modified: maven/trunk/ogoglio-server/src/main/java/com/ogoglio/sim/SpaceSimulator.java
===================================================================
--- maven/trunk/ogoglio-server/src/main/java/com/ogoglio/sim/SpaceSimulator.java 2007-10-17 23:50:01 UTC (rev 507)
+++ maven/trunk/ogoglio-server/src/main/java/com/ogoglio/sim/SpaceSimulator.java 2007-10-18 18:56:46 UTC (rev 508)
@@ -231,7 +231,21 @@
}
user.stopMotion(event.getTransform());
listener.generatedSpaceEvent(event, SpaceSimulator.this);
-
+ } else if(SpaceEvent.USER_SAT_EVENT.equals(event.getName())){
+ String username = event.getStringProperty(SpaceEvent.USERNAME);
+ User user = space.getUser(username);
+ if (user == null) {
+ log("Received sit event for unknown user: " + username);
+ continue;
+ }
+ long thingID = event.getLongProperty(SpaceEvent.THING_ID).longValue();
+ Thing seatThing = space.getThing(thingID);
+ if(seatThing == null){
+ log("Received sit event for unknown thing: " + username + ", " + thingID);
+ }
+ user.setSeat(seatThing);
+ listener.generatedSpaceEvent(event, SpaceSimulator.this);
+
} else if (SpaceEvent.THING_START_MOTION_EVENT.equals(event.getName())) {
long thingID = event.getLongProperty(SpaceEvent.THING_ID).longValue();
Thing thing = space.getThing(thingID);
@@ -819,7 +833,7 @@
Transform3D position = new Transform3D();
position.setTranslation(new Vector3d(0, 0, 0));
BodyConfigurationDocument bodyConfigDoc = listener.getDefaultBodyConfigurationDocument(username);
- User user = new User(space, username, position, new BodyConfiguration(bodyConfigDoc));
+ User user = new User(space, username, position, new BodyConfiguration(bodyConfigDoc), null);
space.addUser(user);
SpaceEvent spaceEvent = new SpaceEvent(SpaceEvent.ADD_USER_EVENT);
Modified: maven/trunk/ogoglio-server/src/main/java/com/ogoglio/sim/script/SpaceScriptEngine.java
===================================================================
--- maven/trunk/ogoglio-server/src/main/java/com/ogoglio/sim/script/SpaceScriptEngine.java 2007-10-17 23:50:01 UTC (rev 507)
+++ maven/trunk/ogoglio-server/src/main/java/com/ogoglio/sim/script/SpaceScriptEngine.java 2007-10-18 18:56:46 UTC (rev 508)
@@ -466,4 +466,10 @@
public void userAnimationStarted(User user, String animationName) {
}
+
+ public void userSat(User user, Thing seatThing) {
+ }
+
+ public void userStood(User user, Thing seat) {
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|