com.threerings.whirled.spot.data

## Class SpotMarshaller

- java.lang.Object
- - com.threerings.presents.data.InvocationMarshaller
  - - com.threerings.whirled.spot.data.SpotMarshaller

All Implemented Interfaces:
  com.threerings.io.Streamable, com.threerings.presents.client.InvocationService, SpotService

    @Generated(value="com.threerings.presents.tools.GenServiceTask",
               comments="Derived from SpotService.java.")
    public class SpotMarshaller
    extends com.threerings.presents.data.InvocationMarshaller
    implements SpotService

Provides the implementation of the `SpotService` interface that marshalls the arguments and delivers the request to the provider on the server. Also provides an implementation of the response listener interfaces that marshall the response arguments and deliver them back to the requesting client.

### Nested Class Summary

Nested Classes
`static class` `SpotMarshaller.SpotSceneMoveMarshaller` Marshalls results to implementations of `SpotService.SpotSceneMoveListener`.

### Nested classes/interfaces inherited from class com.threerings.presents.data.InvocationMarshaller

`com.threerings.presents.data.InvocationMarshaller.ConfirmMarshaller, com.threerings.presents.data.InvocationMarshaller.ListenerMarshaller, com.threerings.presents.data.InvocationMarshaller.ResultMarshaller`

### Nested classes/interfaces inherited from interface com.threerings.whirled.spot.client.SpotService

`SpotService.SpotSceneMoveListener`

### Nested classes/interfaces inherited from interface com.threerings.presents.client.InvocationService

`com.threerings.presents.client.InvocationService.ConfirmListener, com.threerings.presents.client.InvocationService.InvocationListener, com.threerings.presents.client.InvocationService.ResultListener`

### Nested classes/interfaces inherited from interface com.threerings.io.Streamable

`com.threerings.io.Streamable.Closure`

### Field Summary

Fields
`static int` `CHANGE_LOCATION` The method id used to dispatch `changeLocation(int, com.threerings.whirled.spot.data.Location, com.threerings.presents.client.InvocationService.ConfirmListener)` requests.
`static int` `CLUSTER_SPEAK` The method id used to dispatch `clusterSpeak(java.lang.String, byte)` requests.
`static int` `JOIN_CLUSTER` The method id used to dispatch `joinCluster(int, com.threerings.presents.client.InvocationService.ConfirmListener)` requests.
`static int` `TRAVERSE_PORTAL` The method id used to dispatch `traversePortal(int, int, int, com.threerings.whirled.spot.client.SpotService.SpotSceneMoveListener)` requests.

### Constructor Summary

Constructors
Constructor and Description
`SpotMarshaller()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `changeLocation(int arg1, Location arg2, com.threerings.presents.client.InvocationService.ConfirmListener arg3)` Requests that this client's body be made to move to the specified location.
`void` `clusterSpeak(String arg1, byte arg2)` Requests that the supplied message be delivered to listeners in the cluster to which the specified location belongs.
`void` `joinCluster(int arg1, com.threerings.presents.client.InvocationService.ConfirmListener arg2)` Requests that this client start or join the specified cluster.
`void` `traversePortal(int arg1, int arg2, int arg3, SpotService.SpotSceneMoveListener arg4)` Requests to traverse the specified portal.

### Methods inherited from class com.threerings.presents.data.InvocationMarshaller

`getInvocationCode, init, readObject, setInvocationOid, setNoResponse, toString`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### CHANGE_LOCATION

    public static final int CHANGE_LOCATION

The method id used to dispatch `changeLocation(int, com.threerings.whirled.spot.data.Location, com.threerings.presents.client.InvocationService.ConfirmListener)` requests.

See Also:
  Constant Field Values

#### CLUSTER_SPEAK

    public static final int CLUSTER_SPEAK

The method id used to dispatch `clusterSpeak(java.lang.String, byte)` requests.

See Also:
  Constant Field Values

#### JOIN_CLUSTER

    public static final int JOIN_CLUSTER

The method id used to dispatch `joinCluster(int, com.threerings.presents.client.InvocationService.ConfirmListener)` requests.

See Also:
  Constant Field Values

#### TRAVERSE_PORTAL

    public static final int TRAVERSE_PORTAL

The method id used to dispatch `traversePortal(int, int, int, com.threerings.whirled.spot.client.SpotService.SpotSceneMoveListener)` requests.

See Also:
  Constant Field Values

### Constructor Detail

#### SpotMarshaller

    public SpotMarshaller()

### Method Detail

#### changeLocation

    public void changeLocation(int arg1,
                               Location arg2,
                               com.threerings.presents.client.InvocationService.ConfirmListener arg3)

Description copied from interface: `SpotService`
Requests that this client's body be made to move to the specified location. The user will be removed from any cluster from which they are an occupant.

Specified by:
  `changeLocation` in interface `SpotService`
Parameters:
  `arg1` - the id of the scene in which to change location.
  `arg2` - the location to which to move.

#### clusterSpeak

    public void clusterSpeak(String arg1,
                             byte arg2)

Description copied from interface: `SpotService`
Requests that the supplied message be delivered to listeners in the cluster to which the specified location belongs.

Specified by:
  `clusterSpeak` in interface `SpotService`
Parameters:
  `arg1` - the text of the message to be spoken.
  `arg2` - an associated mode constant that can be used to identify different kinds of "speech" (emote, thought bubble, etc.).

#### joinCluster

    public void joinCluster(int arg1,
                            com.threerings.presents.client.InvocationService.ConfirmListener arg2)

Description copied from interface: `SpotService`
Requests that this client start or join the specified cluster. They will be relocated appropriately by the scene manager.

Specified by:
  `joinCluster` in interface `SpotService`
Parameters:
  `arg1` - the bodyOid of another user or the oid of an existing cluster; the calling user will be made to join the cluster or target user's cluster, or create a cluster with the target user if they are not already in one.

#### traversePortal

    public void traversePortal(int arg1,
                               int arg2,
                               int arg3,
                               SpotService.SpotSceneMoveListener arg4)

Description copied from interface: `SpotService`
Requests to traverse the specified portal.

Specified by:
  `traversePortal` in interface `SpotService`
Parameters:
  `arg1` - the player's current scene which is used to sanity check things when the request actually arrives.
  `arg2` - the portal to be traversed.
  `arg3` - the version of the destination scene data that the client has in its local repository.