diff --git a/src/java/com/threerings/stage/client/StageSceneService.java b/src/java/com/threerings/stage/client/StageSceneService.java index 65a5c3949..8516d086a 100644 --- a/src/java/com/threerings/stage/client/StageSceneService.java +++ b/src/java/com/threerings/stage/client/StageSceneService.java @@ -20,8 +20,8 @@ public interface StageSceneService extends InvocationService ConfirmListener listener); /** - * Requests to remove the supplied object from the current scene. + * Requests to remove the supplied objects from the current scene. */ - public void removeObject (Client client, ObjectInfo info, - ConfirmListener listener); + public void removeObjects (Client client, ObjectInfo[] info, + ConfirmListener listener); } diff --git a/src/java/com/threerings/stage/data/StageSceneMarshaller.java b/src/java/com/threerings/stage/data/StageSceneMarshaller.java index b6600f8b3..454291de4 100644 --- a/src/java/com/threerings/stage/data/StageSceneMarshaller.java +++ b/src/java/com/threerings/stage/data/StageSceneMarshaller.java @@ -51,15 +51,15 @@ public class StageSceneMarshaller extends InvocationMarshaller }); } - /** The method id used to dispatch {@link #removeObject} requests. */ - public static final int REMOVE_OBJECT = 2; + /** The method id used to dispatch {@link #removeObjects} requests. */ + public static final int REMOVE_OBJECTS = 2; // documentation inherited from interface - public void removeObject (Client arg1, ObjectInfo arg2, InvocationService.ConfirmListener arg3) + public void removeObjects (Client arg1, ObjectInfo[] arg2, InvocationService.ConfirmListener arg3) { InvocationMarshaller.ConfirmMarshaller listener3 = new InvocationMarshaller.ConfirmMarshaller(); listener3.listener = arg3; - sendRequest(arg1, REMOVE_OBJECT, new Object[] { + sendRequest(arg1, REMOVE_OBJECTS, new Object[] { arg2, listener3 }); } diff --git a/src/java/com/threerings/stage/server/StageSceneDispatcher.java b/src/java/com/threerings/stage/server/StageSceneDispatcher.java index e53e829a0..f432d51f5 100644 --- a/src/java/com/threerings/stage/server/StageSceneDispatcher.java +++ b/src/java/com/threerings/stage/server/StageSceneDispatcher.java @@ -64,10 +64,10 @@ public class StageSceneDispatcher extends InvocationDispatcher ); return; - case StageSceneMarshaller.REMOVE_OBJECT: - ((StageSceneProvider)provider).removeObject( + case StageSceneMarshaller.REMOVE_OBJECTS: + ((StageSceneProvider)provider).removeObjects( source, - (ObjectInfo)args[0], (InvocationService.ConfirmListener)args[1] + (ObjectInfo[])args[0], (InvocationService.ConfirmListener)args[1] ); return; diff --git a/src/java/com/threerings/stage/server/StageSceneManager.java b/src/java/com/threerings/stage/server/StageSceneManager.java index e4e2eba49..d8d8b8fc7 100644 --- a/src/java/com/threerings/stage/server/StageSceneManager.java +++ b/src/java/com/threerings/stage/server/StageSceneManager.java @@ -174,8 +174,8 @@ public class StageSceneManager extends SpotSceneManager } // documentation inherited from interface - public void removeObject (ClientObject caller, ObjectInfo info, - StageSceneService.ConfirmListener listener) + public void removeObjects (ClientObject caller, ObjectInfo[] info, + StageSceneService.ConfirmListener listener) throws InvocationException { BodyObject user = (BodyObject)caller; @@ -187,8 +187,7 @@ public class StageSceneManager extends SpotSceneManager // create our scene update which will be stored in the database // and used to efficiently update clients ModifyObjectsUpdate update = new ModifyObjectsUpdate(); - update.init(_sscene.getId(), _sscene.getVersion(), - null, new ObjectInfo[] { info }); + update.init(_sscene.getId(), _sscene.getVersion(), null, info); Log.info("Modifying objects '" + update + "."); recordUpdate(update, true); diff --git a/src/java/com/threerings/stage/server/StageSceneProvider.java b/src/java/com/threerings/stage/server/StageSceneProvider.java index 3f19f96a4..af93dabdb 100644 --- a/src/java/com/threerings/stage/server/StageSceneProvider.java +++ b/src/java/com/threerings/stage/server/StageSceneProvider.java @@ -26,7 +26,7 @@ public interface StageSceneProvider extends InvocationProvider /** * Handles a {@link StageSceneService#removeObject} request. */ - public void removeObject (ClientObject caller, ObjectInfo info, - StageSceneService.ConfirmListener listener) + public void removeObjects (ClientObject caller, ObjectInfo[] info, + StageSceneService.ConfirmListener listener) throws InvocationException; }