Files
narya/src/java/com/threerings/whirled/spot/client/SpotService.java
T
Michael Bayne e54a4d41f4 The great invocation services rethink of 2002! Rearchitected the remote
method invocation services and converted everything to the new style.
Could this be my biggest checkin ever?


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1642 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-08-14 19:08:01 +00:00

54 lines
1.7 KiB
Java

//
// $Id: SpotService.java,v 1.11 2002/08/14 19:07:57 mdb Exp $
package com.threerings.whirled.spot.client;
import com.threerings.presents.client.Client;
import com.threerings.presents.client.InvocationService;
import com.threerings.whirled.client.SceneService.SceneMoveListener;
/**
* Defines the mechanism by which the client can request to move between
* locations within a scene and between scenes (taking exit and entry
* locations into account). These services should not be used directly,
* but instead should be accessed via the {@link SpotSceneDirector}.
*/
public interface SpotService extends InvocationService
{
/**
* Requests to traverse the specified portal.
*/
public void traversePortal (
Client client, int sceneId, int portalId, int sceneVer,
SceneMoveListener listener);
/**
* Used to communicate responses to a {@link #changeLoc} request.
*/
public static interface ChangeLocListener extends InvocationListener
{
/**
* Called when the change location request succeeded.
*
* @param clusterOid the object id of the cluster object
* associated with the new location.
*/
public void changeLocSucceeded (int clusterOid);
}
/**
* Requests that this client's body be made to occupy the specified
* location.
*/
public void changeLoc (Client client, int sceneId, int locationId,
ChangeLocListener listener);
/**
* Requests that the supplied message be delivered to listeners in the
* cluster to which the specified location belongs.
*/
public void clusterSpeak (Client client, int sceneId, int locationId,
String message, byte mode);
}