Files
vilya/apidocs/com/threerings/whirled/client/SceneDirector.html
T
2011-04-06 17:01:15 -07:00

843 lines
43 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_24) on Wed Apr 06 17:00:16 PDT 2011 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
SceneDirector (vilya 1.3 API)
</TITLE>
<META NAME="date" CONTENT="2011-04-06">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SceneDirector (vilya 1.3 API)";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SceneDirector.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../com/threerings/whirled/client/SceneDecoder.html" title="class in com.threerings.whirled.client"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../com/threerings/whirled/client/SceneDirector.MoveHandler.html" title="interface in com.threerings.whirled.client"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?com/threerings/whirled/client/SceneDirector.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="SceneDirector.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
com.threerings.whirled.client</FONT>
<BR>
Class SceneDirector</H2>
<PRE>
<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by ">com.threerings.presents.client.BasicDirector
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>com.threerings.whirled.client.SceneDirector</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>com.threerings.crowd.client.LocationDirector.FailureHandler, com.threerings.crowd.data.LocationCodes, com.threerings.presents.client.InvocationReceiver, com.threerings.presents.client.InvocationService.InvocationListener, com.threerings.presents.client.SessionObserver, com.threerings.presents.data.InvocationCodes, <A HREF="../../../../com/threerings/whirled/client/SceneReceiver.html" title="interface in com.threerings.whirled.client">SceneReceiver</A>, <A HREF="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html" title="interface in com.threerings.whirled.client">SceneService.SceneMoveListener</A>, <A HREF="../../../../com/threerings/whirled/data/SceneCodes.html" title="interface in com.threerings.whirled.data">SceneCodes</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>SceneDirector</B><DT>extends com.threerings.presents.client.BasicDirector<DT>implements <A HREF="../../../../com/threerings/whirled/data/SceneCodes.html" title="interface in com.threerings.whirled.data">SceneCodes</A>, com.threerings.crowd.client.LocationDirector.FailureHandler, <A HREF="../../../../com/threerings/whirled/client/SceneReceiver.html" title="interface in com.threerings.whirled.client">SceneReceiver</A>, <A HREF="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html" title="interface in com.threerings.whirled.client">SceneService.SceneMoveListener</A></DL>
</PRE>
<P>
The scene director is the client's interface to all things scene related. It interfaces with the
scene repository to ensure that scene objects are available when the client enters a particular
scene. It handles moving from scene to scene (it coordinates with the <CODE>LocationDirector</CODE>
in order to do this).
<p> Note that when the scene director is in use instead of the location director, scene ids
instead of place oids will be supplied to <CODE>LocationObserver.locationMayChange(int)</CODE> and <CODE>LocationObserver.locationChangeFailed(int, java.lang.String)</CODE>.
<P>
<P>
<HR>
<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<A NAME="nested_class_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Nested Class Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;interface</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/whirled/client/SceneDirector.MoveHandler.html" title="interface in com.threerings.whirled.client">SceneDirector.MoveHandler</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used to recover from a problem after a completed moveTo.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="nested_classes_inherited_from_class_com.threerings.presents.client.InvocationReceiver"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Nested classes/interfaces inherited from interface com.threerings.presents.client.InvocationReceiver</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>com.threerings.presents.client.InvocationReceiver.Registration</CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_com.threerings.whirled.data.SceneCodes"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from interface com.threerings.whirled.data.<A HREF="../../../../com/threerings/whirled/data/SceneCodes.html" title="interface in com.threerings.whirled.data">SceneCodes</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../com/threerings/whirled/data/SceneCodes.html#SCENE_UPDATE">SCENE_UPDATE</A>, <A HREF="../../../../com/threerings/whirled/data/SceneCodes.html#WHIRLED_GROUP">WHIRLED_GROUP</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_com.threerings.crowd.data.LocationCodes"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from interface com.threerings.crowd.data.LocationCodes</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>ALREADY_THERE, MOVE_IN_PROGRESS, NO_SUCH_PLACE</CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_com.threerings.presents.data.InvocationCodes"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from interface com.threerings.presents.data.InvocationCodes</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>ACCESS_DENIED, E_ACCESS_DENIED, E_INTERNAL_ERROR, GLOBAL_GROUP, INTERNAL_ERROR</CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#SceneDirector(com.threerings.whirled.util.WhirledContext, com.threerings.crowd.client.LocationDirector, com.threerings.whirled.client.persist.SceneRepository, com.threerings.whirled.util.SceneFactory)">SceneDirector</A></B>(<A HREF="../../../../com/threerings/whirled/util/WhirledContext.html" title="interface in com.threerings.whirled.util">WhirledContext</A>&nbsp;ctx,
com.threerings.crowd.client.LocationDirector&nbsp;locdir,
<A HREF="../../../../com/threerings/whirled/client/persist/SceneRepository.html" title="interface in com.threerings.whirled.client.persist">SceneRepository</A>&nbsp;screp,
<A HREF="../../../../com/threerings/whirled/util/SceneFactory.html" title="interface in com.threerings.whirled.util">SceneFactory</A>&nbsp;fact)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new scene director with the specified context.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#addPendingForcedMove(java.lang.Runnable)">addPendingForcedMove</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A>&nbsp;move)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#cancelMoveRequest()">cancelMoveRequest</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#clientDidLogoff(com.threerings.presents.client.Client)">clientDidLogoff</A></B>(com.threerings.presents.client.Client&nbsp;client)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#didLeaveScene()">didLeaveScene</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called to clean up our place and scene state information when we leave a scene.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#forcedMove(int)">forcedMove</A></B>(int&nbsp;sceneId)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used to communicate a required move notification to the client.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../com/threerings/whirled/data/SceneModel.html" title="class in com.threerings.whirled.data">SceneModel</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#getPendingModel()">getPendingModel</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the model loaded in preparation for a scene transition.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#getPendingSceneId()">getPendingSceneId</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the scene id set in preparation for a scene transition.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../com/threerings/whirled/data/Scene.html" title="interface in com.threerings.whirled.data">Scene</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#getScene()">getScene</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the display scene object associated with the scene we currently occupy or null if we
currently occupy no scene.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#movePending()">movePending</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if there is a pending move request.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#moveRequiresServerSwitch(java.lang.String, int[])">moveRequiresServerSwitch</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;hostname,
int[]&nbsp;ports)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Indicates that the client must switch to the specified server and reissue its move
request in order to relocate to its desired scene.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#moveSucceeded(int, com.threerings.crowd.data.PlaceConfig)">moveSucceeded</A></B>(int&nbsp;placeId,
com.threerings.crowd.data.PlaceConfig&nbsp;config)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Indicates that a move succeeded.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#moveSucceededWithScene(int, com.threerings.crowd.data.PlaceConfig, com.threerings.whirled.data.SceneModel)">moveSucceededWithScene</A></B>(int&nbsp;placeId,
com.threerings.crowd.data.PlaceConfig&nbsp;config,
<A HREF="../../../../com/threerings/whirled/data/SceneModel.html" title="class in com.threerings.whirled.data">SceneModel</A>&nbsp;model)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Indicates that a move succeeded and that the client's cached scene information should be
updated with the supplied data.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#moveSucceededWithUpdates(int, com.threerings.crowd.data.PlaceConfig, com.threerings.whirled.data.SceneUpdate[])">moveSucceededWithUpdates</A></B>(int&nbsp;placeId,
com.threerings.crowd.data.PlaceConfig&nbsp;config,
<A HREF="../../../../com/threerings/whirled/data/SceneUpdate.html" title="class in com.threerings.whirled.data">SceneUpdate</A>[]&nbsp;updates)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Indicates that a move succeeded and that the client's cached scene information should be
updated with the supplied data.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#moveTo(int)">moveTo</A></B>(int&nbsp;sceneId)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Requests that this client move the specified scene.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#prepareMoveTo(int, com.samskivert.util.ResultListener)">prepareMoveTo</A></B>(int&nbsp;sceneId,
<A HREF="http://samskivert.googlecode.com/svn/apidocs/com/samskivert/util/ResultListener.html?is-external=true" title="class or interface in com.samskivert.util">ResultListener</A>&lt;com.threerings.crowd.data.PlaceConfig&gt;&nbsp;rl)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prepares to move to the requested scene.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#recoverFailedMove(int)">recoverFailedMove</A></B>(int&nbsp;placeId)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#requestFailed(java.lang.String)">requestFailed</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;reason)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#setMoveHandler(com.threerings.whirled.client.SceneDirector.MoveHandler)">setMoveHandler</A></B>(<A HREF="../../../../com/threerings/whirled/client/SceneDirector.MoveHandler.html" title="interface in com.threerings.whirled.client">SceneDirector.MoveHandler</A>&nbsp;handler)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the moveHandler for use in <A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#recoverFailedMove(int)"><CODE>recoverFailedMove(int)</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#setSceneRepository(com.threerings.whirled.client.persist.SceneRepository)">setSceneRepository</A></B>(<A HREF="../../../../com/threerings/whirled/client/persist/SceneRepository.html" title="interface in com.threerings.whirled.client.persist">SceneRepository</A>&nbsp;screp)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the scene repository.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#updateReceived(com.threerings.whirled.data.SceneUpdate)">updateReceived</A></B>(<A HREF="../../../../com/threerings/whirled/data/SceneUpdate.html" title="class in com.threerings.whirled.data">SceneUpdate</A>&nbsp;update)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by SceneController instances to tell us about an update to the current scene.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_com.threerings.presents.client.BasicDirector"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class com.threerings.presents.client.BasicDirector</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clientDidLogon, clientObjectDidChange, clientWillLogon, isAvailableInStandalone, setAvailableInStandalone</CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="SceneDirector(com.threerings.whirled.util.WhirledContext, com.threerings.crowd.client.LocationDirector, com.threerings.whirled.client.persist.SceneRepository, com.threerings.whirled.util.SceneFactory)"><!-- --></A><H3>
SceneDirector</H3>
<PRE>
public <B>SceneDirector</B>(<A HREF="../../../../com/threerings/whirled/util/WhirledContext.html" title="interface in com.threerings.whirled.util">WhirledContext</A>&nbsp;ctx,
com.threerings.crowd.client.LocationDirector&nbsp;locdir,
<A HREF="../../../../com/threerings/whirled/client/persist/SceneRepository.html" title="interface in com.threerings.whirled.client.persist">SceneRepository</A>&nbsp;screp,
<A HREF="../../../../com/threerings/whirled/util/SceneFactory.html" title="interface in com.threerings.whirled.util">SceneFactory</A>&nbsp;fact)</PRE>
<DL>
<DD>Creates a new scene director with the specified context.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>ctx</CODE> - the active client context.<DD><CODE>locdir</CODE> - the location director in use on the client, with which the scene director will
coordinate when changing location.<DD><CODE>screp</CODE> - the entity from which the scene director will load scene data from the local
client scene storage. This may be null when the SceneDirector is constructed, but it should
be supplied via <A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#setSceneRepository(com.threerings.whirled.client.persist.SceneRepository)"><CODE>setSceneRepository(com.threerings.whirled.client.persist.SceneRepository)</CODE></A> prior to really using this director.<DD><CODE>fact</CODE> - the factory that knows which derivation of <A HREF="../../../../com/threerings/whirled/data/Scene.html" title="interface in com.threerings.whirled.data"><CODE>Scene</CODE></A> to create for the
current system.</DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="setSceneRepository(com.threerings.whirled.client.persist.SceneRepository)"><!-- --></A><H3>
setSceneRepository</H3>
<PRE>
public void <B>setSceneRepository</B>(<A HREF="../../../../com/threerings/whirled/client/persist/SceneRepository.html" title="interface in com.threerings.whirled.client.persist">SceneRepository</A>&nbsp;screp)</PRE>
<DL>
<DD>Set the scene repository.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getScene()"><!-- --></A><H3>
getScene</H3>
<PRE>
public <A HREF="../../../../com/threerings/whirled/data/Scene.html" title="interface in com.threerings.whirled.data">Scene</A> <B>getScene</B>()</PRE>
<DL>
<DD>Returns the display scene object associated with the scene we currently occupy or null if we
currently occupy no scene.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="movePending()"><!-- --></A><H3>
movePending</H3>
<PRE>
public boolean <B>movePending</B>()</PRE>
<DL>
<DD>Returns true if there is a pending move request.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="moveTo(int)"><!-- --></A><H3>
moveTo</H3>
<PRE>
public boolean <B>moveTo</B>(int&nbsp;sceneId)</PRE>
<DL>
<DD>Requests that this client move the specified scene. A request will be made and when the
response is received, the location observers will be notified of success or failure.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>true if the move to request was issued, false if it was rejected by a location
observer or because we have another request outstanding.</DL>
</DD>
</DL>
<HR>
<A NAME="prepareMoveTo(int, com.samskivert.util.ResultListener)"><!-- --></A><H3>
prepareMoveTo</H3>
<PRE>
public boolean <B>prepareMoveTo</B>(int&nbsp;sceneId,
<A HREF="http://samskivert.googlecode.com/svn/apidocs/com/samskivert/util/ResultListener.html?is-external=true" title="class or interface in com.samskivert.util">ResultListener</A>&lt;com.threerings.crowd.data.PlaceConfig&gt;&nbsp;rl)</PRE>
<DL>
<DD>Prepares to move to the requested scene. The location observers are asked to ratify the move
and our pending scene mode is loaded from the scene repository. This can be called by
cooperating directors that need to coopt the moveTo process.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getPendingModel()"><!-- --></A><H3>
getPendingModel</H3>
<PRE>
public <A HREF="../../../../com/threerings/whirled/data/SceneModel.html" title="class in com.threerings.whirled.data">SceneModel</A> <B>getPendingModel</B>()</PRE>
<DL>
<DD>Returns the model loaded in preparation for a scene transition. This is made available only
for cooperating directors which may need to coopt the scene transition process. The pending
model is only valid immediately following a call to <A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#prepareMoveTo(int, com.samskivert.util.ResultListener)"><CODE>prepareMoveTo(int, com.samskivert.util.ResultListener<com.threerings.crowd.data.PlaceConfig>)</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getPendingSceneId()"><!-- --></A><H3>
getPendingSceneId</H3>
<PRE>
public int <B>getPendingSceneId</B>()</PRE>
<DL>
<DD>Returns the scene id set in preparation for a scene transition. As with
<A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#getPendingModel()"><CODE>getPendingModel()</CODE></A>, this is for cooperating directors.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="moveSucceeded(int, com.threerings.crowd.data.PlaceConfig)"><!-- --></A><H3>
moveSucceeded</H3>
<PRE>
public void <B>moveSucceeded</B>(int&nbsp;placeId,
com.threerings.crowd.data.PlaceConfig&nbsp;config)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html#moveSucceeded(int, com.threerings.crowd.data.PlaceConfig)">SceneService.SceneMoveListener</A></CODE></B></DD>
<DD>Indicates that a move succeeded.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html#moveSucceeded(int, com.threerings.crowd.data.PlaceConfig)">moveSucceeded</A></CODE> in interface <CODE><A HREF="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html" title="interface in com.threerings.whirled.client">SceneService.SceneMoveListener</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>placeId</CODE> - the place object id of the newly occupied scene.<DD><CODE>config</CODE> - metadata related to the newly occupied scene.</DL>
</DD>
</DL>
<HR>
<A NAME="moveSucceededWithUpdates(int, com.threerings.crowd.data.PlaceConfig, com.threerings.whirled.data.SceneUpdate[])"><!-- --></A><H3>
moveSucceededWithUpdates</H3>
<PRE>
public void <B>moveSucceededWithUpdates</B>(int&nbsp;placeId,
com.threerings.crowd.data.PlaceConfig&nbsp;config,
<A HREF="../../../../com/threerings/whirled/data/SceneUpdate.html" title="class in com.threerings.whirled.data">SceneUpdate</A>[]&nbsp;updates)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html#moveSucceededWithUpdates(int, com.threerings.crowd.data.PlaceConfig, com.threerings.whirled.data.SceneUpdate[])">SceneService.SceneMoveListener</A></CODE></B></DD>
<DD>Indicates that a move succeeded and that the client's cached scene information should be
updated with the supplied data.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html#moveSucceededWithUpdates(int, com.threerings.crowd.data.PlaceConfig, com.threerings.whirled.data.SceneUpdate[])">moveSucceededWithUpdates</A></CODE> in interface <CODE><A HREF="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html" title="interface in com.threerings.whirled.client">SceneService.SceneMoveListener</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>placeId</CODE> - the place object id of the newly occupied scene.<DD><CODE>config</CODE> - metadata related to the newly occupied scene.<DD><CODE>updates</CODE> - updates that must be applied to the client's copy of a scene model to
bring it up to date.</DL>
</DD>
</DL>
<HR>
<A NAME="moveSucceededWithScene(int, com.threerings.crowd.data.PlaceConfig, com.threerings.whirled.data.SceneModel)"><!-- --></A><H3>
moveSucceededWithScene</H3>
<PRE>
public void <B>moveSucceededWithScene</B>(int&nbsp;placeId,
com.threerings.crowd.data.PlaceConfig&nbsp;config,
<A HREF="../../../../com/threerings/whirled/data/SceneModel.html" title="class in com.threerings.whirled.data">SceneModel</A>&nbsp;model)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html#moveSucceededWithScene(int, com.threerings.crowd.data.PlaceConfig, com.threerings.whirled.data.SceneModel)">SceneService.SceneMoveListener</A></CODE></B></DD>
<DD>Indicates that a move succeeded and that the client's cached scene information should be
updated with the supplied data.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html#moveSucceededWithScene(int, com.threerings.crowd.data.PlaceConfig, com.threerings.whirled.data.SceneModel)">moveSucceededWithScene</A></CODE> in interface <CODE><A HREF="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html" title="interface in com.threerings.whirled.client">SceneService.SceneMoveListener</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>placeId</CODE> - the place object id of the newly occupied scene.<DD><CODE>config</CODE> - metadata related to the newly occupied scene.<DD><CODE>model</CODE> - a fresh copy of the most recent scene data for the newly occupied scene.</DL>
</DD>
</DL>
<HR>
<A NAME="moveRequiresServerSwitch(java.lang.String, int[])"><!-- --></A><H3>
moveRequiresServerSwitch</H3>
<PRE>
public void <B>moveRequiresServerSwitch</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;hostname,
int[]&nbsp;ports)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html#moveRequiresServerSwitch(java.lang.String, int[])">SceneService.SceneMoveListener</A></CODE></B></DD>
<DD>Indicates that the client must switch to the specified server and reissue its move
request in order to relocate to its desired scene.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html#moveRequiresServerSwitch(java.lang.String, int[])">moveRequiresServerSwitch</A></CODE> in interface <CODE><A HREF="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html" title="interface in com.threerings.whirled.client">SceneService.SceneMoveListener</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="requestFailed(java.lang.String)"><!-- --></A><H3>
requestFailed</H3>
<PRE>
public void <B>requestFailed</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;reason)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>requestFailed</CODE> in interface <CODE>com.threerings.presents.client.InvocationService.InvocationListener</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="updateReceived(com.threerings.whirled.data.SceneUpdate)"><!-- --></A><H3>
updateReceived</H3>
<PRE>
public void <B>updateReceived</B>(<A HREF="../../../../com/threerings/whirled/data/SceneUpdate.html" title="class in com.threerings.whirled.data">SceneUpdate</A>&nbsp;update)</PRE>
<DL>
<DD>Called by SceneController instances to tell us about an update to the current scene.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="didLeaveScene()"><!-- --></A><H3>
didLeaveScene</H3>
<PRE>
public void <B>didLeaveScene</B>()</PRE>
<DL>
<DD>Called to clean up our place and scene state information when we leave a scene.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setMoveHandler(com.threerings.whirled.client.SceneDirector.MoveHandler)"><!-- --></A><H3>
setMoveHandler</H3>
<PRE>
public void <B>setMoveHandler</B>(<A HREF="../../../../com/threerings/whirled/client/SceneDirector.MoveHandler.html" title="interface in com.threerings.whirled.client">SceneDirector.MoveHandler</A>&nbsp;handler)</PRE>
<DL>
<DD>Sets the moveHandler for use in <A HREF="../../../../com/threerings/whirled/client/SceneDirector.html#recoverFailedMove(int)"><CODE>recoverFailedMove(int)</CODE></A>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="forcedMove(int)"><!-- --></A><H3>
forcedMove</H3>
<PRE>
public void <B>forcedMove</B>(int&nbsp;sceneId)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../com/threerings/whirled/client/SceneReceiver.html#forcedMove(int)">SceneReceiver</A></CODE></B></DD>
<DD>Used to communicate a required move notification to the client. The server will have removed
the client from their existing scene and the client is then responsible for generating a
<A HREF="../../../../com/threerings/whirled/client/SceneService.html#moveTo(int, int, com.threerings.whirled.client.SceneService.SceneMoveListener)"><CODE>SceneService.moveTo(int, int, com.threerings.whirled.client.SceneService.SceneMoveListener)</CODE></A> request to move to the new scene.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../com/threerings/whirled/client/SceneReceiver.html#forcedMove(int)">forcedMove</A></CODE> in interface <CODE><A HREF="../../../../com/threerings/whirled/client/SceneReceiver.html" title="interface in com.threerings.whirled.client">SceneReceiver</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="recoverFailedMove(int)"><!-- --></A><H3>
recoverFailedMove</H3>
<PRE>
public void <B>recoverFailedMove</B>(int&nbsp;placeId)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>recoverFailedMove</CODE> in interface <CODE>com.threerings.crowd.client.LocationDirector.FailureHandler</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="clientDidLogoff(com.threerings.presents.client.Client)"><!-- --></A><H3>
clientDidLogoff</H3>
<PRE>
public void <B>clientDidLogoff</B>(com.threerings.presents.client.Client&nbsp;client)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>clientDidLogoff</CODE> in interface <CODE>com.threerings.presents.client.SessionObserver</CODE><DT><B>Overrides:</B><DD><CODE>clientDidLogoff</CODE> in class <CODE>com.threerings.presents.client.BasicDirector</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="cancelMoveRequest()"><!-- --></A><H3>
cancelMoveRequest</H3>
<PRE>
public void <B>cancelMoveRequest</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="addPendingForcedMove(java.lang.Runnable)"><!-- --></A><H3>
addPendingForcedMove</H3>
<PRE>
public void <B>addPendingForcedMove</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A>&nbsp;move)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SceneDirector.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../com/threerings/whirled/client/SceneDecoder.html" title="class in com.threerings.whirled.client"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../com/threerings/whirled/client/SceneDirector.MoveHandler.html" title="interface in com.threerings.whirled.client"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?com/threerings/whirled/client/SceneDirector.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="SceneDirector.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
Copyright &#169; 2011. All Rights Reserved.
</BODY>
</HTML>