|
From: <tre...@us...> - 2007-10-22 20:34:35
|
Revision: 537
http://ogoglio.svn.sourceforge.net/ogoglio/?rev=537&view=rev
Author: trevorolio
Date: 2007-10-22 13:34:39 -0700 (Mon, 22 Oct 2007)
Log Message:
-----------
Now guests can enter a display name, so we can finally get "Guest Gandalfs" at every event.
Modified Paths:
--------------
maven/trunk/ogoglio-common/src/main/java/com/ogoglio/util/WebConstants.java
maven/trunk/ogoglio-common/src/main/java/com/ogoglio/viewer/j3d/J3DRenderer.java
maven/trunk/ogoglio-common/src/main/java/com/ogoglio/viewer/j3d/J3DUserRenderable.java
Modified: maven/trunk/ogoglio-common/src/main/java/com/ogoglio/util/WebConstants.java
===================================================================
--- maven/trunk/ogoglio-common/src/main/java/com/ogoglio/util/WebConstants.java 2007-10-22 12:01:32 UTC (rev 536)
+++ maven/trunk/ogoglio-common/src/main/java/com/ogoglio/util/WebConstants.java 2007-10-22 20:34:39 UTC (rev 537)
@@ -11,4 +11,8 @@
public static final String SPACE_INCLUDE_CHILDREN_PARAM = "children";
public static final String GUEST_COOKIE_PREFIX = "guest";
+
+ public static final String REQUESTED_GUEST_NAME_PARAMETER = "requestedGuestName";
+
+ public static final String GUEST_DISPLAY_NAME_PREFIX = "Guest";
}
Modified: maven/trunk/ogoglio-common/src/main/java/com/ogoglio/viewer/j3d/J3DRenderer.java
===================================================================
--- maven/trunk/ogoglio-common/src/main/java/com/ogoglio/viewer/j3d/J3DRenderer.java 2007-10-22 12:01:32 UTC (rev 536)
+++ maven/trunk/ogoglio-common/src/main/java/com/ogoglio/viewer/j3d/J3DRenderer.java 2007-10-22 20:34:39 UTC (rev 537)
@@ -53,6 +53,7 @@
import com.ogoglio.util.BodyConstants;
import com.ogoglio.util.Log;
import com.ogoglio.util.UIConstants;
+import com.ogoglio.util.WebConstants;
import com.ogoglio.viewer.render.Camera;
import com.ogoglio.viewer.render.ClickTarget;
import com.ogoglio.viewer.render.DoorRenderable;
@@ -677,7 +678,10 @@
throw new IllegalStateException("Cannot load body data");
}
- BufferedImage customSkin = dataManager.getBodyTexture(user.getUsername(), bodyConfig.getBodyConfigurationID());
+ BufferedImage customSkin = null;
+ if(!offScreen && !user.getUsername().startsWith(WebConstants.GUEST_COOKIE_PREFIX)){
+ customSkin = dataManager.getBodyTexture(user.getUsername(), bodyConfig.getBodyConfigurationID());
+ }
boolean isLocalUser = !offScreen && username != null && user.getUsername().equals(username);
final J3DUserRenderable renderable = new J3DUserRenderable(user, bodyData, customSkin);
@@ -694,10 +698,11 @@
getCanvas().addMouseListener(motionHandler);
getCanvas().addMouseMotionListener(motionHandler);
} else if (!offScreen) {
- String displayName = user.getUsername().replaceAll("_", " ");
- if (displayName.startsWith("guest")) {
- displayName = displayName.substring(0, 1).toUpperCase() + displayName.substring(1);
+ String displayName = user.getUsername();
+ if (displayName.startsWith(WebConstants.GUEST_COOKIE_PREFIX)) {
+ displayName = J3DUserRenderable.convertGuestCookieToDisplayName(displayName);
}
+ System.out.println("Setting name tag: " + displayName);
renderable.setNameTag(displayName);
}
Modified: maven/trunk/ogoglio-common/src/main/java/com/ogoglio/viewer/j3d/J3DUserRenderable.java
===================================================================
--- maven/trunk/ogoglio-common/src/main/java/com/ogoglio/viewer/j3d/J3DUserRenderable.java 2007-10-22 12:01:32 UTC (rev 536)
+++ maven/trunk/ogoglio-common/src/main/java/com/ogoglio/viewer/j3d/J3DUserRenderable.java 2007-10-22 20:34:39 UTC (rev 537)
@@ -16,6 +16,7 @@
import java.awt.Font;
import java.awt.image.BufferedImage;
+import java.util.regex.Pattern;
import javax.media.j3d.Billboard;
import javax.media.j3d.BoundingSphere;
@@ -29,6 +30,7 @@
import com.ogoglio.client.model.User;
import com.ogoglio.util.ArgumentUtils;
import com.ogoglio.util.BodyConstants;
+import com.ogoglio.util.WebConstants;
import com.ogoglio.viewer.j3d.body.BodyAnimator;
import com.ogoglio.viewer.j3d.body.Skeleton;
import com.ogoglio.viewer.j3d.body.SkeletonLoader;
@@ -285,4 +287,21 @@
animator = new BodyAnimator(skeleton, animation, skin, bodyAnimatorListener);
animator.animate(loop);
}
+
+ public static String convertGuestCookieToDisplayName(String displayName) {
+ if(displayName == null || !displayName.startsWith(WebConstants.GUEST_COOKIE_PREFIX)){
+ return displayName;
+ }
+ displayName = displayName.substring(WebConstants.GUEST_COOKIE_PREFIX.length() + 1);
+ StringBuffer result = new StringBuffer(WebConstants.GUEST_DISPLAY_NAME_PREFIX);
+ String[] tokens = displayName.split(Pattern.quote("_"));
+ for (int i = 0; i < tokens.length; i++) {
+ System.out.println("TOKEN " + tokens[i]);
+ }
+ int startIndex = tokens.length > 3 ? 3 : 0;
+ for (int i = startIndex; i < tokens.length; i++) {
+ result.append(" " + tokens[i]);
+ }
+ return result.toString();
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|