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

640 lines
37 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>
ZoneDirector (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="ZoneDirector (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/ZoneDirector.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/zone/client/ZoneDecoder.html" title="class in com.threerings.whirled.zone.client"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../com/threerings/whirled/zone/client/ZoneObserver.html" title="interface in com.threerings.whirled.zone.client"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?com/threerings/whirled/zone/client/ZoneDirector.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ZoneDirector.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;NESTED&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.zone.client</FONT>
<BR>
Class ZoneDirector</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.zone.client.ZoneDirector</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>com.threerings.presents.client.InvocationReceiver, com.threerings.presents.client.InvocationService.InvocationListener, com.threerings.presents.client.SessionObserver, <A HREF="../../../../../com/threerings/whirled/client/SceneDirector.MoveHandler.html" title="interface in com.threerings.whirled.client">SceneDirector.MoveHandler</A>, <A HREF="../../../../../com/threerings/whirled/zone/client/ZoneReceiver.html" title="interface in com.threerings.whirled.zone.client">ZoneReceiver</A>, <A HREF="../../../../../com/threerings/whirled/zone/client/ZoneService.ZoneMoveListener.html" title="interface in com.threerings.whirled.zone.client">ZoneService.ZoneMoveListener</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>ZoneDirector</B><DT>extends com.threerings.presents.client.BasicDirector<DT>implements <A HREF="../../../../../com/threerings/whirled/zone/client/ZoneReceiver.html" title="interface in com.threerings.whirled.zone.client">ZoneReceiver</A>, <A HREF="../../../../../com/threerings/whirled/zone/client/ZoneService.ZoneMoveListener.html" title="interface in com.threerings.whirled.zone.client">ZoneService.ZoneMoveListener</A>, <A HREF="../../../../../com/threerings/whirled/client/SceneDirector.MoveHandler.html" title="interface in com.threerings.whirled.client">SceneDirector.MoveHandler</A></DL>
</PRE>
<P>
The zone director augments the scene services with the notion of zones. Zones are
self-contained, connected groups of scenes. The normal scene director services can be used to
move from scene to scene, but moving to a new zone requires a special move request which can be
accomplished via the zone director. The zone director also makes available the zone summary
which provides information on the zone which can be used to generate an overview map or similar.
<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>
</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;
<!-- ======== 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/zone/client/ZoneDirector.html#ZoneDirector(com.threerings.whirled.util.WhirledContext, com.threerings.whirled.client.SceneDirector)">ZoneDirector</A></B>(<A HREF="../../../../../com/threerings/whirled/util/WhirledContext.html" title="interface in com.threerings.whirled.util">WhirledContext</A>&nbsp;ctx,
<A HREF="../../../../../com/threerings/whirled/client/SceneDirector.html" title="class in com.threerings.whirled.client">SceneDirector</A>&nbsp;scdir)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a zone director with the supplied context, and delegate scene director (which the
zone director will coordinate with when moving from scene to scene).</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/zone/client/ZoneDirector.html#addZoneObserver(com.threerings.whirled.zone.client.ZoneObserver)">addZoneObserver</A></B>(<A HREF="../../../../../com/threerings/whirled/zone/client/ZoneObserver.html" title="interface in com.threerings.whirled.zone.client">ZoneObserver</A>&nbsp;observer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a zone observer to the list.</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/zone/client/ZoneDirector.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/zone/client/ZoneDirector.html#forcedMove(int, int)">forcedMove</A></B>(int&nbsp;zoneId,
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/zone/data/ZoneSummary.html" title="class in com.threerings.whirled.zone.data">ZoneSummary</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../com/threerings/whirled/zone/client/ZoneDirector.html#getZoneSummary()">getZoneSummary</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the summary for the zone currently occupied by the client or null if the client does
not currently occupy a zone (not a normal situation).</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/zone/client/ZoneDirector.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 zone.</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/zone/client/ZoneDirector.html#moveSucceeded(int, com.threerings.crowd.data.PlaceConfig, com.threerings.whirled.zone.data.ZoneSummary)">moveSucceeded</A></B>(int&nbsp;placeId,
com.threerings.crowd.data.PlaceConfig&nbsp;config,
<A HREF="../../../../../com/threerings/whirled/zone/data/ZoneSummary.html" title="class in com.threerings.whirled.zone.data">ZoneSummary</A>&nbsp;summary)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called in response to a successful <A HREF="../../../../../com/threerings/whirled/zone/client/ZoneService.html#moveTo(int, int, int, com.threerings.whirled.zone.client.ZoneService.ZoneMoveListener)"><CODE>ZoneService.moveTo(int, int, int, com.threerings.whirled.zone.client.ZoneService.ZoneMoveListener)</CODE></A> 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/zone/client/ZoneDirector.html#moveSucceededWithScene(int, com.threerings.crowd.data.PlaceConfig, com.threerings.whirled.zone.data.ZoneSummary, com.threerings.whirled.data.SceneModel)">moveSucceededWithScene</A></B>(int&nbsp;placeId,
com.threerings.crowd.data.PlaceConfig&nbsp;config,
<A HREF="../../../../../com/threerings/whirled/zone/data/ZoneSummary.html" title="class in com.threerings.whirled.zone.data">ZoneSummary</A>&nbsp;summary,
<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;Called in response to a successful <A HREF="../../../../../com/threerings/whirled/zone/client/ZoneService.html#moveTo(int, int, int, com.threerings.whirled.zone.client.ZoneService.ZoneMoveListener)"><CODE>ZoneService.moveTo(int, int, int, com.threerings.whirled.zone.client.ZoneService.ZoneMoveListener)</CODE></A> request when our cached
scene was out of date and the server determined that we needed an updated copy.</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/zone/client/ZoneDirector.html#moveSucceededWithUpdates(int, com.threerings.crowd.data.PlaceConfig, com.threerings.whirled.zone.data.ZoneSummary, com.threerings.whirled.data.SceneUpdate[])">moveSucceededWithUpdates</A></B>(int&nbsp;placeId,
com.threerings.crowd.data.PlaceConfig&nbsp;config,
<A HREF="../../../../../com/threerings/whirled/zone/data/ZoneSummary.html" title="class in com.threerings.whirled.zone.data">ZoneSummary</A>&nbsp;summary,
<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;Called in response to a successful <A HREF="../../../../../com/threerings/whirled/zone/client/ZoneService.html#moveTo(int, int, int, com.threerings.whirled.zone.client.ZoneService.ZoneMoveListener)"><CODE>ZoneService.moveTo(int, int, int, com.threerings.whirled.zone.client.ZoneService.ZoneMoveListener)</CODE></A> request when our cached
scene was out of date and the server determined that we needed some updates.</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/zone/client/ZoneDirector.html#moveTo(int, int)">moveTo</A></B>(int&nbsp;zoneId,
int&nbsp;sceneId)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Requests that this client move the specified scene in the specified zone.</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/zone/client/ZoneDirector.html#moveTo(int, int, com.samskivert.util.ResultListener)">moveTo</A></B>(int&nbsp;zoneId,
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;Requests that this client move the specified scene in the specified zone.</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/zone/client/ZoneDirector.html#recoverMoveTo(int)">recoverMoveTo</A></B>(int&nbsp;previousSceneId)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Should instruct the client to move the last known working location (as well as clean up
after the failed moveTo 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/zone/client/ZoneDirector.html#removeZoneObserver(com.threerings.whirled.zone.client.ZoneObserver)">removeZoneObserver</A></B>(<A HREF="../../../../../com/threerings/whirled/zone/client/ZoneObserver.html" title="interface in com.threerings.whirled.zone.client">ZoneObserver</A>&nbsp;observer)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes a zone observer from the list.</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/zone/client/ZoneDirector.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>
</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="ZoneDirector(com.threerings.whirled.util.WhirledContext, com.threerings.whirled.client.SceneDirector)"><!-- --></A><H3>
ZoneDirector</H3>
<PRE>
public <B>ZoneDirector</B>(<A HREF="../../../../../com/threerings/whirled/util/WhirledContext.html" title="interface in com.threerings.whirled.util">WhirledContext</A>&nbsp;ctx,
<A HREF="../../../../../com/threerings/whirled/client/SceneDirector.html" title="class in com.threerings.whirled.client">SceneDirector</A>&nbsp;scdir)</PRE>
<DL>
<DD>Constructs a zone director with the supplied context, and delegate scene director (which the
zone director will coordinate with when moving from scene to scene). A zone director is
required on the client side for systems that wish to use the zone services.
<P>
</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="getZoneSummary()"><!-- --></A><H3>
getZoneSummary</H3>
<PRE>
public <A HREF="../../../../../com/threerings/whirled/zone/data/ZoneSummary.html" title="class in com.threerings.whirled.zone.data">ZoneSummary</A> <B>getZoneSummary</B>()</PRE>
<DL>
<DD>Returns the summary for the zone currently occupied by the client or null if the client does
not currently occupy a zone (not a normal situation).
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="addZoneObserver(com.threerings.whirled.zone.client.ZoneObserver)"><!-- --></A><H3>
addZoneObserver</H3>
<PRE>
public void <B>addZoneObserver</B>(<A HREF="../../../../../com/threerings/whirled/zone/client/ZoneObserver.html" title="interface in com.threerings.whirled.zone.client">ZoneObserver</A>&nbsp;observer)</PRE>
<DL>
<DD>Adds a zone observer to the list. This observer will subsequently be notified of effected
and failed zone changes.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="removeZoneObserver(com.threerings.whirled.zone.client.ZoneObserver)"><!-- --></A><H3>
removeZoneObserver</H3>
<PRE>
public void <B>removeZoneObserver</B>(<A HREF="../../../../../com/threerings/whirled/zone/client/ZoneObserver.html" title="interface in com.threerings.whirled.zone.client">ZoneObserver</A>&nbsp;observer)</PRE>
<DL>
<DD>Removes a zone observer from the list.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="moveTo(int, int)"><!-- --></A><H3>
moveTo</H3>
<PRE>
public boolean <B>moveTo</B>(int&nbsp;zoneId,
int&nbsp;sceneId)</PRE>
<DL>
<DD>Requests that this client move the specified scene in the specified zone. 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>
</DL>
</DD>
</DL>
<HR>
<A NAME="moveTo(int, int, com.samskivert.util.ResultListener)"><!-- --></A><H3>
moveTo</H3>
<PRE>
public boolean <B>moveTo</B>(int&nbsp;zoneId,
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>Requests that this client move the specified scene in the specified zone. 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>
</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="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/zone/client/ZoneService.ZoneMoveListener.html#moveRequiresServerSwitch(java.lang.String, int[])">ZoneService.ZoneMoveListener</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 zone.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/threerings/whirled/zone/client/ZoneService.ZoneMoveListener.html#moveRequiresServerSwitch(java.lang.String, int[])">moveRequiresServerSwitch</A></CODE> in interface <CODE><A HREF="../../../../../com/threerings/whirled/zone/client/ZoneService.ZoneMoveListener.html" title="interface in com.threerings.whirled.zone.client">ZoneService.ZoneMoveListener</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="moveSucceeded(int, com.threerings.crowd.data.PlaceConfig, com.threerings.whirled.zone.data.ZoneSummary)"><!-- --></A><H3>
moveSucceeded</H3>
<PRE>
public void <B>moveSucceeded</B>(int&nbsp;placeId,
com.threerings.crowd.data.PlaceConfig&nbsp;config,
<A HREF="../../../../../com/threerings/whirled/zone/data/ZoneSummary.html" title="class in com.threerings.whirled.zone.data">ZoneSummary</A>&nbsp;summary)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/threerings/whirled/zone/client/ZoneService.ZoneMoveListener.html#moveSucceeded(int, com.threerings.crowd.data.PlaceConfig, com.threerings.whirled.zone.data.ZoneSummary)">ZoneService.ZoneMoveListener</A></CODE></B></DD>
<DD>Called in response to a successful <A HREF="../../../../../com/threerings/whirled/zone/client/ZoneService.html#moveTo(int, int, int, com.threerings.whirled.zone.client.ZoneService.ZoneMoveListener)"><CODE>ZoneService.moveTo(int, int, int, com.threerings.whirled.zone.client.ZoneService.ZoneMoveListener)</CODE></A> request.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/threerings/whirled/zone/client/ZoneService.ZoneMoveListener.html#moveSucceeded(int, com.threerings.crowd.data.PlaceConfig, com.threerings.whirled.zone.data.ZoneSummary)">moveSucceeded</A></CODE> in interface <CODE><A HREF="../../../../../com/threerings/whirled/zone/client/ZoneService.ZoneMoveListener.html" title="interface in com.threerings.whirled.zone.client">ZoneService.ZoneMoveListener</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="moveSucceededWithUpdates(int, com.threerings.crowd.data.PlaceConfig, com.threerings.whirled.zone.data.ZoneSummary, 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/zone/data/ZoneSummary.html" title="class in com.threerings.whirled.zone.data">ZoneSummary</A>&nbsp;summary,
<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/zone/client/ZoneService.ZoneMoveListener.html#moveSucceededWithUpdates(int, com.threerings.crowd.data.PlaceConfig, com.threerings.whirled.zone.data.ZoneSummary, com.threerings.whirled.data.SceneUpdate[])">ZoneService.ZoneMoveListener</A></CODE></B></DD>
<DD>Called in response to a successful <A HREF="../../../../../com/threerings/whirled/zone/client/ZoneService.html#moveTo(int, int, int, com.threerings.whirled.zone.client.ZoneService.ZoneMoveListener)"><CODE>ZoneService.moveTo(int, int, int, com.threerings.whirled.zone.client.ZoneService.ZoneMoveListener)</CODE></A> request when our cached
scene was out of date and the server determined that we needed some updates.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/threerings/whirled/zone/client/ZoneService.ZoneMoveListener.html#moveSucceededWithUpdates(int, com.threerings.crowd.data.PlaceConfig, com.threerings.whirled.zone.data.ZoneSummary, com.threerings.whirled.data.SceneUpdate[])">moveSucceededWithUpdates</A></CODE> in interface <CODE><A HREF="../../../../../com/threerings/whirled/zone/client/ZoneService.ZoneMoveListener.html" title="interface in com.threerings.whirled.zone.client">ZoneService.ZoneMoveListener</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="moveSucceededWithScene(int, com.threerings.crowd.data.PlaceConfig, com.threerings.whirled.zone.data.ZoneSummary, 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/zone/data/ZoneSummary.html" title="class in com.threerings.whirled.zone.data">ZoneSummary</A>&nbsp;summary,
<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/zone/client/ZoneService.ZoneMoveListener.html#moveSucceededWithScene(int, com.threerings.crowd.data.PlaceConfig, com.threerings.whirled.zone.data.ZoneSummary, com.threerings.whirled.data.SceneModel)">ZoneService.ZoneMoveListener</A></CODE></B></DD>
<DD>Called in response to a successful <A HREF="../../../../../com/threerings/whirled/zone/client/ZoneService.html#moveTo(int, int, int, com.threerings.whirled.zone.client.ZoneService.ZoneMoveListener)"><CODE>ZoneService.moveTo(int, int, int, com.threerings.whirled.zone.client.ZoneService.ZoneMoveListener)</CODE></A> request when our cached
scene was out of date and the server determined that we needed an updated copy.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/threerings/whirled/zone/client/ZoneService.ZoneMoveListener.html#moveSucceededWithScene(int, com.threerings.crowd.data.PlaceConfig, com.threerings.whirled.zone.data.ZoneSummary, com.threerings.whirled.data.SceneModel)">moveSucceededWithScene</A></CODE> in interface <CODE><A HREF="../../../../../com/threerings/whirled/zone/client/ZoneService.ZoneMoveListener.html" title="interface in com.threerings.whirled.zone.client">ZoneService.ZoneMoveListener</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="forcedMove(int, int)"><!-- --></A><H3>
forcedMove</H3>
<PRE>
public void <B>forcedMove</B>(int&nbsp;zoneId,
int&nbsp;sceneId)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/threerings/whirled/zone/client/ZoneReceiver.html#forcedMove(int, int)">ZoneReceiver</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/zone/client/ZoneService.html#moveTo(int, int, int, com.threerings.whirled.zone.client.ZoneService.ZoneMoveListener)"><CODE>ZoneService.moveTo(int, int, int, com.threerings.whirled.zone.client.ZoneService.ZoneMoveListener)</CODE></A> request to move to the new scene in the specified
zone.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/threerings/whirled/zone/client/ZoneReceiver.html#forcedMove(int, int)">forcedMove</A></CODE> in interface <CODE><A HREF="../../../../../com/threerings/whirled/zone/client/ZoneReceiver.html" title="interface in com.threerings.whirled.zone.client">ZoneReceiver</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="recoverMoveTo(int)"><!-- --></A><H3>
recoverMoveTo</H3>
<PRE>
public void <B>recoverMoveTo</B>(int&nbsp;previousSceneId)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../com/threerings/whirled/client/SceneDirector.MoveHandler.html#recoverMoveTo(int)">SceneDirector.MoveHandler</A></CODE></B></DD>
<DD>Should instruct the client to move the last known working location (as well as clean up
after the failed moveTo request).
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../com/threerings/whirled/client/SceneDirector.MoveHandler.html#recoverMoveTo(int)">recoverMoveTo</A></CODE> in interface <CODE><A HREF="../../../../../com/threerings/whirled/client/SceneDirector.MoveHandler.html" title="interface in com.threerings.whirled.client">SceneDirector.MoveHandler</A></CODE></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/ZoneDirector.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/zone/client/ZoneDecoder.html" title="class in com.threerings.whirled.zone.client"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../com/threerings/whirled/zone/client/ZoneObserver.html" title="interface in com.threerings.whirled.zone.client"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?com/threerings/whirled/zone/client/ZoneDirector.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ZoneDirector.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;NESTED&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>