Files
2015-03-14 10:44:30 -07:00

753 lines
42 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_31) on Sat Mar 14 10:07:12 PDT 2015 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SceneDirector (Vilya Core 1.6 API)</title>
<meta name="date" content="2015-03-14">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SceneDirector (Vilya Core 1.6 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SceneDirector.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/threerings/whirled/client/SceneDecoder.html" title="class in com.threerings.whirled.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/threerings/whirled/client/SceneDirector.MoveHandler.html" title="interface in com.threerings.whirled.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/threerings/whirled/client/SceneDirector.html" target="_top">Frames</a></li>
<li><a href="SceneDirector.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.threerings.whirled.client</div>
<h2 title="Class SceneDirector" class="title">Class SceneDirector</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.threerings.presents.client.BasicDirector</li>
<li>
<ul class="inheritance">
<li>com.threerings.whirled.client.SceneDirector</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<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>
<br>
<pre>public class <span class="typeNameLabel">SceneDirector</span>
extends com.threerings.presents.client.BasicDirector
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></pre>
<div class="block">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>.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/client/SceneDirector.MoveHandler.html" title="interface in com.threerings.whirled.client">SceneDirector.MoveHandler</a></span></code>
<div class="block">Used to recover from a problem after a completed moveTo.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.com.threerings.presents.client.InvocationReceiver">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;com.threerings.presents.client.InvocationReceiver</h3>
<code>com.threerings.presents.client.InvocationReceiver.Registration</code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.com.threerings.whirled.data.SceneCodes">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;com.threerings.whirled.data.<a href="../../../../com/threerings/whirled/data/SceneCodes.html" title="interface in com.threerings.whirled.data">SceneCodes</a></h3>
<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></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.com.threerings.crowd.data.LocationCodes">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;com.threerings.crowd.data.LocationCodes</h3>
<code>ALREADY_THERE, MOVE_IN_PROGRESS, NO_SUCH_PLACE</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.com.threerings.presents.data.InvocationCodes">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;com.threerings.presents.data.InvocationCodes</h3>
<code>ACCESS_DENIED, E_ACCESS_DENIED, E_INTERNAL_ERROR, GLOBAL_GROUP, INTERNAL_ERROR</code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><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></span>(<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>
<div class="block">Creates a new scene director with the specified context.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/client/SceneDirector.html#addPendingForcedMove-java.lang.Runnable-">addPendingForcedMove</a></span>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;move)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/client/SceneDirector.html#cancelMoveRequest--">cancelMoveRequest</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/client/SceneDirector.html#clientDidLogoff-com.threerings.presents.client.Client-">clientDidLogoff</a></span>(com.threerings.presents.client.Client&nbsp;client)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/client/SceneDirector.html#didLeaveScene--">didLeaveScene</a></span>()</code>
<div class="block">Called to clean up our place and scene state information when we leave a scene.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/client/SceneDirector.html#forcedMove-int-">forcedMove</a></span>(int&nbsp;sceneId)</code>
<div class="block">Used to communicate a required move notification to the client.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../com/threerings/whirled/data/SceneModel.html" title="class in com.threerings.whirled.data">SceneModel</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/client/SceneDirector.html#getPendingModel--">getPendingModel</a></span>()</code>
<div class="block">Returns the model loaded in preparation for a scene transition.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/client/SceneDirector.html#getPendingSceneId--">getPendingSceneId</a></span>()</code>
<div class="block">Returns the scene id set in preparation for a scene transition.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../com/threerings/whirled/data/Scene.html" title="interface in com.threerings.whirled.data">Scene</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/client/SceneDirector.html#getScene--">getScene</a></span>()</code>
<div class="block">Returns the display scene object associated with the scene we currently occupy or null if we
currently occupy no scene.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/client/SceneDirector.html#movePending--">movePending</a></span>()</code>
<div class="block">Returns true if there is a pending move request.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/client/SceneDirector.html#moveRequiresServerSwitch-java.lang.String-int:A-">moveRequiresServerSwitch</a></span>(<a href="http://docs.oracle.com/javase/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>
<div class="block">Indicates that the client must switch to the specified server and reissue its move
request in order to relocate to its desired scene.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/client/SceneDirector.html#moveSucceeded-int-com.threerings.crowd.data.PlaceConfig-">moveSucceeded</a></span>(int&nbsp;placeId,
com.threerings.crowd.data.PlaceConfig&nbsp;config)</code>
<div class="block">Indicates that a move succeeded.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/client/SceneDirector.html#moveSucceededWithScene-int-com.threerings.crowd.data.PlaceConfig-com.threerings.whirled.data.SceneModel-">moveSucceededWithScene</a></span>(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>
<div class="block">Indicates that a move succeeded and that the client's cached scene information should be
updated with the supplied data.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/client/SceneDirector.html#moveSucceededWithUpdates-int-com.threerings.crowd.data.PlaceConfig-com.threerings.whirled.data.SceneUpdate:A-">moveSucceededWithUpdates</a></span>(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>
<div class="block">Indicates that a move succeeded and that the client's cached scene information should be
updated with the supplied data.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/client/SceneDirector.html#moveTo-int-">moveTo</a></span>(int&nbsp;sceneId)</code>
<div class="block">Requests that this client move the specified scene.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/client/SceneDirector.html#prepareMoveTo-int-com.samskivert.util.ResultListener-">prepareMoveTo</a></span>(int&nbsp;sceneId,
<a href="http://samskivert.github.com/samskivert/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>
<div class="block">Prepares to move to the requested scene.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/client/SceneDirector.html#recoverFailedMove-int-">recoverFailedMove</a></span>(int&nbsp;placeId)</code>&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/client/SceneDirector.html#requestFailed-java.lang.String-">requestFailed</a></span>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;reason)</code>&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/client/SceneDirector.html#setMoveHandler-com.threerings.whirled.client.SceneDirector.MoveHandler-">setMoveHandler</a></span>(<a href="../../../../com/threerings/whirled/client/SceneDirector.MoveHandler.html" title="interface in com.threerings.whirled.client">SceneDirector.MoveHandler</a>&nbsp;handler)</code>
<div class="block">Sets the moveHandler for use in <a href="../../../../com/threerings/whirled/client/SceneDirector.html#recoverFailedMove-int-"><code>recoverFailedMove(int)</code></a>.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/client/SceneDirector.html#setSceneRepository-com.threerings.whirled.client.persist.SceneRepository-">setSceneRepository</a></span>(<a href="../../../../com/threerings/whirled/client/persist/SceneRepository.html" title="interface in com.threerings.whirled.client.persist">SceneRepository</a>&nbsp;screp)</code>
<div class="block">Set the scene repository.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/threerings/whirled/client/SceneDirector.html#updateReceived-com.threerings.whirled.data.SceneUpdate-">updateReceived</a></span>(<a href="../../../../com/threerings/whirled/data/SceneUpdate.html" title="class in com.threerings.whirled.data">SceneUpdate</a>&nbsp;update)</code>
<div class="block">Called by SceneController instances to tell us about an update to the current scene.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.com.threerings.presents.client.BasicDirector">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;com.threerings.presents.client.BasicDirector</h3>
<code>clientDidLogon, clientObjectDidChange, clientWillLogon, isAvailableInStandalone, setAvailableInStandalone</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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://docs.oracle.com/javase/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></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<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>
<ul class="blockListLast">
<li class="blockList">
<h4>SceneDirector</h4>
<pre>public&nbsp;SceneDirector(<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>
<div class="block">Creates a new scene director with the specified context.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ctx</code> - the active client context.</dd>
<dd><code>locdir</code> - the location director in use on the client, with which the scene director will
coordinate when changing location.</dd>
<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>
<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.</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="setSceneRepository-com.threerings.whirled.client.persist.SceneRepository-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSceneRepository</h4>
<pre>public&nbsp;void&nbsp;setSceneRepository(<a href="../../../../com/threerings/whirled/client/persist/SceneRepository.html" title="interface in com.threerings.whirled.client.persist">SceneRepository</a>&nbsp;screp)</pre>
<div class="block">Set the scene repository.</div>
</li>
</ul>
<a name="getScene--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getScene</h4>
<pre>public&nbsp;<a href="../../../../com/threerings/whirled/data/Scene.html" title="interface in com.threerings.whirled.data">Scene</a>&nbsp;getScene()</pre>
<div class="block">Returns the display scene object associated with the scene we currently occupy or null if we
currently occupy no scene.</div>
</li>
</ul>
<a name="movePending--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>movePending</h4>
<pre>public&nbsp;boolean&nbsp;movePending()</pre>
<div class="block">Returns true if there is a pending move request.</div>
</li>
</ul>
<a name="moveTo-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>moveTo</h4>
<pre>public&nbsp;boolean&nbsp;moveTo(int&nbsp;sceneId)</pre>
<div class="block">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.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<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.</dd>
</dl>
</li>
</ul>
<a name="prepareMoveTo-int-com.samskivert.util.ResultListener-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prepareMoveTo</h4>
<pre>public&nbsp;boolean&nbsp;prepareMoveTo(int&nbsp;sceneId,
<a href="http://samskivert.github.com/samskivert/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>
<div class="block">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.</div>
</li>
</ul>
<a name="getPendingModel--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPendingModel</h4>
<pre>public&nbsp;<a href="../../../../com/threerings/whirled/data/SceneModel.html" title="class in com.threerings.whirled.data">SceneModel</a>&nbsp;getPendingModel()</pre>
<div class="block">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&lt;com.threerings.crowd.data.PlaceConfig&gt;)</code></a>.</div>
</li>
</ul>
<a name="getPendingSceneId--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPendingSceneId</h4>
<pre>public&nbsp;int&nbsp;getPendingSceneId()</pre>
<div class="block">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.</div>
</li>
</ul>
<a name="moveSucceeded-int-com.threerings.crowd.data.PlaceConfig-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>moveSucceeded</h4>
<pre>public&nbsp;void&nbsp;moveSucceeded(int&nbsp;placeId,
com.threerings.crowd.data.PlaceConfig&nbsp;config)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html#moveSucceeded-int-com.threerings.crowd.data.PlaceConfig-">SceneService.SceneMoveListener</a></code></span></div>
<div class="block">Indicates that a move succeeded.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html#moveSucceeded-int-com.threerings.crowd.data.PlaceConfig-">moveSucceeded</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html" title="interface in com.threerings.whirled.client">SceneService.SceneMoveListener</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>placeId</code> - the place object id of the newly occupied scene.</dd>
<dd><code>config</code> - metadata related to the newly occupied scene.</dd>
</dl>
</li>
</ul>
<a name="moveSucceededWithUpdates-int-com.threerings.crowd.data.PlaceConfig-com.threerings.whirled.data.SceneUpdate:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>moveSucceededWithUpdates</h4>
<pre>public&nbsp;void&nbsp;moveSucceededWithUpdates(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>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html#moveSucceededWithUpdates-int-com.threerings.crowd.data.PlaceConfig-com.threerings.whirled.data.SceneUpdate:A-">SceneService.SceneMoveListener</a></code></span></div>
<div class="block">Indicates that a move succeeded and that the client's cached scene information should be
updated with the supplied data.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html#moveSucceededWithUpdates-int-com.threerings.crowd.data.PlaceConfig-com.threerings.whirled.data.SceneUpdate:A-">moveSucceededWithUpdates</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html" title="interface in com.threerings.whirled.client">SceneService.SceneMoveListener</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>placeId</code> - the place object id of the newly occupied scene.</dd>
<dd><code>config</code> - metadata related to the newly occupied scene.</dd>
<dd><code>updates</code> - updates that must be applied to the client's copy of a scene model to
bring it up to date.</dd>
</dl>
</li>
</ul>
<a name="moveSucceededWithScene-int-com.threerings.crowd.data.PlaceConfig-com.threerings.whirled.data.SceneModel-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>moveSucceededWithScene</h4>
<pre>public&nbsp;void&nbsp;moveSucceededWithScene(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>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<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></span></div>
<div class="block">Indicates that a move succeeded and that the client's cached scene information should be
updated with the supplied data.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<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>&nbsp;in interface&nbsp;<code><a href="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html" title="interface in com.threerings.whirled.client">SceneService.SceneMoveListener</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>placeId</code> - the place object id of the newly occupied scene.</dd>
<dd><code>config</code> - metadata related to the newly occupied scene.</dd>
<dd><code>model</code> - a fresh copy of the most recent scene data for the newly occupied scene.</dd>
</dl>
</li>
</ul>
<a name="moveRequiresServerSwitch-java.lang.String-int:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>moveRequiresServerSwitch</h4>
<pre>public&nbsp;void&nbsp;moveRequiresServerSwitch(<a href="http://docs.oracle.com/javase/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>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html#moveRequiresServerSwitch-java.lang.String-int:A-">SceneService.SceneMoveListener</a></code></span></div>
<div class="block">Indicates that the client must switch to the specified server and reissue its move
request in order to relocate to its desired scene.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html#moveRequiresServerSwitch-java.lang.String-int:A-">moveRequiresServerSwitch</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/threerings/whirled/client/SceneService.SceneMoveListener.html" title="interface in com.threerings.whirled.client">SceneService.SceneMoveListener</a></code></dd>
</dl>
</li>
</ul>
<a name="requestFailed-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>requestFailed</h4>
<pre>public&nbsp;void&nbsp;requestFailed(<a href="http://docs.oracle.com/javase/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>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>requestFailed</code>&nbsp;in interface&nbsp;<code>com.threerings.presents.client.InvocationService.InvocationListener</code></dd>
</dl>
</li>
</ul>
<a name="updateReceived-com.threerings.whirled.data.SceneUpdate-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateReceived</h4>
<pre>public&nbsp;void&nbsp;updateReceived(<a href="../../../../com/threerings/whirled/data/SceneUpdate.html" title="class in com.threerings.whirled.data">SceneUpdate</a>&nbsp;update)</pre>
<div class="block">Called by SceneController instances to tell us about an update to the current scene.</div>
</li>
</ul>
<a name="didLeaveScene--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>didLeaveScene</h4>
<pre>public&nbsp;void&nbsp;didLeaveScene()</pre>
<div class="block">Called to clean up our place and scene state information when we leave a scene.</div>
</li>
</ul>
<a name="setMoveHandler-com.threerings.whirled.client.SceneDirector.MoveHandler-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMoveHandler</h4>
<pre>public&nbsp;void&nbsp;setMoveHandler(<a href="../../../../com/threerings/whirled/client/SceneDirector.MoveHandler.html" title="interface in com.threerings.whirled.client">SceneDirector.MoveHandler</a>&nbsp;handler)</pre>
<div class="block">Sets the moveHandler for use in <a href="../../../../com/threerings/whirled/client/SceneDirector.html#recoverFailedMove-int-"><code>recoverFailedMove(int)</code></a>.</div>
</li>
</ul>
<a name="forcedMove-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>forcedMove</h4>
<pre>public&nbsp;void&nbsp;forcedMove(int&nbsp;sceneId)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../com/threerings/whirled/client/SceneReceiver.html#forcedMove-int-">SceneReceiver</a></code></span></div>
<div class="block">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.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../com/threerings/whirled/client/SceneReceiver.html#forcedMove-int-">forcedMove</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/threerings/whirled/client/SceneReceiver.html" title="interface in com.threerings.whirled.client">SceneReceiver</a></code></dd>
</dl>
</li>
</ul>
<a name="recoverFailedMove-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recoverFailedMove</h4>
<pre>public&nbsp;void&nbsp;recoverFailedMove(int&nbsp;placeId)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>recoverFailedMove</code>&nbsp;in interface&nbsp;<code>com.threerings.crowd.client.LocationDirector.FailureHandler</code></dd>
</dl>
</li>
</ul>
<a name="clientDidLogoff-com.threerings.presents.client.Client-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clientDidLogoff</h4>
<pre>public&nbsp;void&nbsp;clientDidLogoff(com.threerings.presents.client.Client&nbsp;client)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>clientDidLogoff</code>&nbsp;in interface&nbsp;<code>com.threerings.presents.client.SessionObserver</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>clientDidLogoff</code>&nbsp;in class&nbsp;<code>com.threerings.presents.client.BasicDirector</code></dd>
</dl>
</li>
</ul>
<a name="cancelMoveRequest--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cancelMoveRequest</h4>
<pre>public&nbsp;void&nbsp;cancelMoveRequest()</pre>
</li>
</ul>
<a name="addPendingForcedMove-java.lang.Runnable-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>addPendingForcedMove</h4>
<pre>public&nbsp;void&nbsp;addPendingForcedMove(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;move)</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SceneDirector.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/threerings/whirled/client/SceneDecoder.html" title="class in com.threerings.whirled.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../com/threerings/whirled/client/SceneDirector.MoveHandler.html" title="interface in com.threerings.whirled.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/threerings/whirled/client/SceneDirector.html" target="_top">Frames</a></li>
<li><a href="SceneDirector.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2015. All rights reserved.</small></p>
</body>
</html>