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

588 lines
30 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:09 PDT 2011 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
GameController (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="GameController (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/GameController.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/parlor/game/client/GameConfigurator.html" title="class in com.threerings.parlor.game.client"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../com/threerings/parlor/game/client/GameControllerDelegate.html" title="class in com.threerings.parlor.game.client"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?com/threerings/parlor/game/client/GameController.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="GameController.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_classes_inherited_from_class_com.threerings.crowd.client.PlaceController">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_com.samskivert.swing.Controller">FIELD</A>&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.parlor.game.client</FONT>
<BR>
Class GameController</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 "><A HREF="http://samskivert.googlecode.com/svn/apidocs/com/samskivert/swing/Controller.html?is-external=true" title="class or interface in com.samskivert.swing">com.samskivert.swing.Controller</A>
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by ">com.threerings.crowd.client.PlaceController
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>com.threerings.parlor.game.client.GameController</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>com.threerings.presents.dobj.AttributeChangeListener, com.threerings.presents.dobj.ChangeListener, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/ActionListener.html?is-external=true" title="class or interface in java.awt.event">ActionListener</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/EventListener.html?is-external=true" title="class or interface in java.util">EventListener</A></DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../../com/threerings/parlor/card/client/CardGameController.html" title="class in com.threerings.parlor.card.client">CardGameController</A>, <A HREF="../../../../../com/threerings/puzzle/client/PuzzleController.html" title="class in com.threerings.puzzle.client">PuzzleController</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public abstract class <B>GameController</B><DT>extends com.threerings.crowd.client.PlaceController<DT>implements com.threerings.presents.dobj.AttributeChangeListener</DL>
</PRE>
<P>
The game controller manages the flow and control of a game on the client side. This class serves
as the root of a hierarchy of controller classes that aim to provide functionality shared
between various similar games. The base controller provides functionality for starting and
ending the game and for calculating ratings adjustements when a game ends normally. It also
handles the basic house keeping like subscription to the game object and dispatch of commands
and distributed object events.
<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.crowd.client.PlaceController"><!-- --></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 class com.threerings.crowd.client.PlaceController</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>com.threerings.crowd.client.PlaceController.DelegateOp</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.samskivert.swing.Controller"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class com.samskivert.swing.<A HREF="http://samskivert.googlecode.com/svn/apidocs/com/samskivert/swing/Controller.html?is-external=true" title="class or interface in com.samskivert.swing">Controller</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://samskivert.googlecode.com/svn/apidocs/com/samskivert/swing/Controller.html?is-external=true#DISPATCHER" title="class or interface in com.samskivert.swing">DISPATCHER</A></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/parlor/game/client/GameController.html#GameController()">GameController</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/parlor/game/client/GameController.html#attributeChanged(com.threerings.presents.dobj.AttributeChangedEvent)">attributeChanged</A></B>(com.threerings.presents.dobj.AttributeChangedEvent&nbsp;event)</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/parlor/game/client/GameController.html#didLeavePlace(com.threerings.crowd.data.PlaceObject)">didLeavePlace</A></B>(com.threerings.crowd.data.PlaceObject&nbsp;plobj)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes our listener registration from the game object and cleans house.</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/parlor/game/client/GameController.html#getMatchType()">getMatchType</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method to determine the type of game.</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/parlor/game/client/GameController.html#getSessionId()">getSessionId</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the unique session identifier for the current gameplay session.</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/parlor/game/client/GameController.html#handleAction(java.awt.event.ActionEvent)">handleAction</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/ActionEvent.html?is-external=true" title="class or interface in java.awt.event">ActionEvent</A>&nbsp;action)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Handles basic game controller action events.</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/parlor/game/client/GameController.html#init(com.threerings.crowd.util.CrowdContext, com.threerings.crowd.data.PlaceConfig)">init</A></B>(com.threerings.crowd.util.CrowdContext&nbsp;ctx,
com.threerings.crowd.data.PlaceConfig&nbsp;config)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initializes this game controller with the game configuration that was established during the
match making process.</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/parlor/game/client/GameController.html#isGameOver()">isGameOver</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether the game is over.</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/parlor/game/client/GameController.html#resetGame()">resetGame</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Calls <A HREF="../../../../../com/threerings/parlor/game/client/GameController.html#gameWillReset()"><CODE>gameWillReset()</CODE></A>, ends the current game (locally, it does not tell the server to
end the game), and waits to receive a reset notification (which is simply an event setting
the game state to <code>IN_PLAY</code> even though it's already set to <code>IN_PLAY</code>)
from the server which will start up a new game.</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/parlor/game/client/GameController.html#setGameOver(boolean)">setGameOver</A></B>(boolean&nbsp;gameOver)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the client game over override.</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/parlor/game/client/GameController.html#systemMessage(java.lang.String, java.lang.String)">systemMessage</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;bundle,
<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;msg)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A way for controllers to display a game-related system message.</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/parlor/game/client/GameController.html#willEnterPlace(com.threerings.crowd.data.PlaceObject)">willEnterPlace</A></B>(com.threerings.crowd.data.PlaceObject&nbsp;plobj)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds this controller as a listener to the game object (thus derived classes need not do so)
and lets the game manager know that we are now ready to go.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_com.threerings.crowd.client.PlaceController"><!-- --></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.crowd.client.PlaceController</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>getPlaceConfig, getPlaceView, mayLeavePlace</CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_com.samskivert.swing.Controller"><!-- --></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.samskivert.swing.<A HREF="http://samskivert.googlecode.com/svn/apidocs/com/samskivert/swing/Controller.html?is-external=true" title="class or interface in com.samskivert.swing">Controller</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://samskivert.googlecode.com/svn/apidocs/com/samskivert/swing/Controller.html?is-external=true#actionPerformed(java.awt.event.ActionEvent)" title="class or interface in com.samskivert.swing">actionPerformed</A>, <A HREF="http://samskivert.googlecode.com/svn/apidocs/com/samskivert/swing/Controller.html?is-external=true#configureAction(javax.swing.AbstractButton, java.lang.String)" title="class or interface in com.samskivert.swing">configureAction</A>, <A HREF="http://samskivert.googlecode.com/svn/apidocs/com/samskivert/swing/Controller.html?is-external=true#createActionButton(java.lang.String, java.lang.String)" title="class or interface in com.samskivert.swing">createActionButton</A>, <A HREF="http://samskivert.googlecode.com/svn/apidocs/com/samskivert/swing/Controller.html?is-external=true#handleAction(java.awt.Component, java.lang.String)" title="class or interface in com.samskivert.swing">handleAction</A>, <A HREF="http://samskivert.googlecode.com/svn/apidocs/com/samskivert/swing/Controller.html?is-external=true#handleAction(java.awt.Component, java.lang.String, java.lang.Object)" title="class or interface in com.samskivert.swing">handleAction</A>, <A HREF="http://samskivert.googlecode.com/svn/apidocs/com/samskivert/swing/Controller.html?is-external=true#handleAction(java.lang.Object, java.lang.String, java.lang.Object)" title="class or interface in com.samskivert.swing">handleAction</A>, <A HREF="http://samskivert.googlecode.com/svn/apidocs/com/samskivert/swing/Controller.html?is-external=true#postAction(java.awt.event.ActionEvent)" title="class or interface in com.samskivert.swing">postAction</A>, <A HREF="http://samskivert.googlecode.com/svn/apidocs/com/samskivert/swing/Controller.html?is-external=true#postAction(java.awt.Component, java.lang.String)" title="class or interface in com.samskivert.swing">postAction</A>, <A HREF="http://samskivert.googlecode.com/svn/apidocs/com/samskivert/swing/Controller.html?is-external=true#postAction(java.awt.Component, java.lang.String, java.lang.Object)" title="class or interface in com.samskivert.swing">postAction</A>, <A HREF="http://samskivert.googlecode.com/svn/apidocs/com/samskivert/swing/Controller.html?is-external=true#setControlledPanel(javax.swing.JComponent)" title="class or interface in com.samskivert.swing">setControlledPanel</A>, <A HREF="http://samskivert.googlecode.com/svn/apidocs/com/samskivert/swing/Controller.html?is-external=true#wasAdded()" title="class or interface in com.samskivert.swing">wasAdded</A>, <A HREF="http://samskivert.googlecode.com/svn/apidocs/com/samskivert/swing/Controller.html?is-external=true#wasRemoved()" title="class or interface in com.samskivert.swing">wasRemoved</A></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="GameController()"><!-- --></A><H3>
GameController</H3>
<PRE>
public <B>GameController</B>()</PRE>
<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="init(com.threerings.crowd.util.CrowdContext, com.threerings.crowd.data.PlaceConfig)"><!-- --></A><H3>
init</H3>
<PRE>
public void <B>init</B>(com.threerings.crowd.util.CrowdContext&nbsp;ctx,
com.threerings.crowd.data.PlaceConfig&nbsp;config)</PRE>
<DL>
<DD>Initializes this game controller with the game configuration that was established during the
match making process. Derived classes may want to override this method to initialize
themselves with game-specific configuration parameters but they should be sure to call
<code>super.init</code> in such cases.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>init</CODE> in class <CODE>com.threerings.crowd.client.PlaceController</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>ctx</CODE> - the client context.<DD><CODE>config</CODE> - the configuration of the game we are intended to
control.</DL>
</DD>
</DL>
<HR>
<A NAME="willEnterPlace(com.threerings.crowd.data.PlaceObject)"><!-- --></A><H3>
willEnterPlace</H3>
<PRE>
public void <B>willEnterPlace</B>(com.threerings.crowd.data.PlaceObject&nbsp;plobj)</PRE>
<DL>
<DD>Adds this controller as a listener to the game object (thus derived classes need not do so)
and lets the game manager know that we are now ready to go.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>willEnterPlace</CODE> in class <CODE>com.threerings.crowd.client.PlaceController</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="didLeavePlace(com.threerings.crowd.data.PlaceObject)"><!-- --></A><H3>
didLeavePlace</H3>
<PRE>
public void <B>didLeavePlace</B>(com.threerings.crowd.data.PlaceObject&nbsp;plobj)</PRE>
<DL>
<DD>Removes our listener registration from the game object and cleans house.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>didLeavePlace</CODE> in class <CODE>com.threerings.crowd.client.PlaceController</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getMatchType()"><!-- --></A><H3>
getMatchType</H3>
<PRE>
public int <B>getMatchType</B>()</PRE>
<DL>
<DD>Convenience method to determine the type of game.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="isGameOver()"><!-- --></A><H3>
isGameOver</H3>
<PRE>
public boolean <B>isGameOver</B>()</PRE>
<DL>
<DD>Returns whether the game is over.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setGameOver(boolean)"><!-- --></A><H3>
setGameOver</H3>
<PRE>
public void <B>setGameOver</B>(boolean&nbsp;gameOver)</PRE>
<DL>
<DD>Sets the client game over override. This is used in situations where we determine that the
game is over before the server has informed us of such.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="resetGame()"><!-- --></A><H3>
resetGame</H3>
<PRE>
public void <B>resetGame</B>()</PRE>
<DL>
<DD>Calls <A HREF="../../../../../com/threerings/parlor/game/client/GameController.html#gameWillReset()"><CODE>gameWillReset()</CODE></A>, ends the current game (locally, it does not tell the server to
end the game), and waits to receive a reset notification (which is simply an event setting
the game state to <code>IN_PLAY</code> even though it's already set to <code>IN_PLAY</code>)
from the server which will start up a new game. Derived classes should override <A HREF="../../../../../com/threerings/parlor/game/client/GameController.html#gameWillReset()"><CODE>gameWillReset()</CODE></A> to perform any game-specific animations.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getSessionId()"><!-- --></A><H3>
getSessionId</H3>
<PRE>
public int <B>getSessionId</B>()</PRE>
<DL>
<DD>Returns the unique session identifier for the current gameplay session.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="handleAction(java.awt.event.ActionEvent)"><!-- --></A><H3>
handleAction</H3>
<PRE>
public boolean <B>handleAction</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/ActionEvent.html?is-external=true" title="class or interface in java.awt.event">ActionEvent</A>&nbsp;action)</PRE>
<DL>
<DD>Handles basic game controller action events. Derived classes should be sure to call
<code>super.handleAction</code> for events they don't specifically handle.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>handleAction</CODE> in class <CODE>com.threerings.crowd.client.PlaceController</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="systemMessage(java.lang.String, java.lang.String)"><!-- --></A><H3>
systemMessage</H3>
<PRE>
public void <B>systemMessage</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;bundle,
<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;msg)</PRE>
<DL>
<DD>A way for controllers to display a game-related system message.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="attributeChanged(com.threerings.presents.dobj.AttributeChangedEvent)"><!-- --></A><H3>
attributeChanged</H3>
<PRE>
public void <B>attributeChanged</B>(com.threerings.presents.dobj.AttributeChangedEvent&nbsp;event)</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>attributeChanged</CODE> in interface <CODE>com.threerings.presents.dobj.AttributeChangeListener</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/GameController.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/parlor/game/client/GameConfigurator.html" title="class in com.threerings.parlor.game.client"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../com/threerings/parlor/game/client/GameControllerDelegate.html" title="class in com.threerings.parlor.game.client"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?com/threerings/parlor/game/client/GameController.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="GameController.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_classes_inherited_from_class_com.threerings.crowd.client.PlaceController">NESTED</A>&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_com.samskivert.swing.Controller">FIELD</A>&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>