Create our game configurator directly rather than returning a class and
forcing the caller to instantiate it. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3248 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: TableListView.java,v 1.8 2004/08/27 02:12:51 mdb Exp $
|
// $Id$
|
||||||
//
|
//
|
||||||
// Narya library - tools for developing networked games
|
// Narya library - tools for developing networked games
|
||||||
// Copyright (C) 2002-2004 Three Rings Design, Inc., All Rights Reserved
|
// Copyright (C) 2002-2004 Three Rings Design, Inc., All Rights Reserved
|
||||||
@@ -93,18 +93,14 @@ public class TableListView extends JPanel
|
|||||||
_matchList.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
|
_matchList.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
|
||||||
panel.add(new JScrollPane(_matchList));
|
panel.add(new JScrollPane(_matchList));
|
||||||
|
|
||||||
// create our configurator interface
|
// create and initialize the configurator interface
|
||||||
GameConfig gconfig = null;
|
GameConfig gconfig = null;
|
||||||
try {
|
try {
|
||||||
gconfig = config.getGameConfig();
|
gconfig = config.getGameConfig();
|
||||||
Class cclass = gconfig.getConfiguratorClass();
|
_figger = gconfig.createConfigurator();
|
||||||
if (cclass != null) {
|
if (_figger != null) {
|
||||||
// create and initialize the configurator interface
|
|
||||||
_figger = (GameConfigurator)cclass.newInstance();
|
|
||||||
_figger.init(_ctx);
|
_figger.init(_ctx);
|
||||||
// give it the game config
|
|
||||||
_figger.setGameConfig(gconfig);
|
_figger.setGameConfig(gconfig);
|
||||||
// and add the whole business to the main UI
|
|
||||||
panel.add(_figger, VGroupLayout.FIXED);
|
panel.add(_figger, VGroupLayout.FIXED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,8 @@ package com.threerings.parlor.game;
|
|||||||
import com.threerings.crowd.data.PlaceConfig;
|
import com.threerings.crowd.data.PlaceConfig;
|
||||||
import com.threerings.util.Name;
|
import com.threerings.util.Name;
|
||||||
|
|
||||||
|
import com.threerings.parlor.client.GameConfigurator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The game config class encapsulates the configuration information for a
|
* The game config class encapsulates the configuration information for a
|
||||||
* particular type of game. The hierarchy of game config objects mimics
|
* particular type of game. The hierarchy of game config objects mimics
|
||||||
@@ -68,12 +70,11 @@ public abstract class GameConfig extends PlaceConfig implements Cloneable
|
|||||||
public abstract String getBundleName ();
|
public abstract String getBundleName ();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the class that should be used to create a user interface
|
* Creates a configurator that can be used to create a user interface
|
||||||
* that can be used to configure this instance prior to starting the
|
* for configuring this instance prior to starting the game. If no
|
||||||
* game. The configurator class must derive from {@link
|
* configuration is necessary, this method should return null.
|
||||||
* GameConfigurator}.
|
|
||||||
*/
|
*/
|
||||||
public abstract Class getConfiguratorClass ();
|
public abstract GameConfigurator createConfigurator ();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an array of strings that describe the configuration of this
|
* Returns an array of strings that describe the configuration of this
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: TestConfig.java,v 1.6 2004/08/27 02:21:02 mdb Exp $
|
// $Id$
|
||||||
//
|
//
|
||||||
// Narya library - tools for developing networked games
|
// Narya library - tools for developing networked games
|
||||||
// Copyright (C) 2002-2004 Three Rings Design, Inc., All Rights Reserved
|
// Copyright (C) 2002-2004 Three Rings Design, Inc., All Rights Reserved
|
||||||
@@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
package com.threerings.parlor;
|
package com.threerings.parlor;
|
||||||
|
|
||||||
|
import com.threerings.parlor.client.GameConfigurator;
|
||||||
import com.threerings.parlor.game.GameConfig;
|
import com.threerings.parlor.game.GameConfig;
|
||||||
|
|
||||||
public class TestConfig extends GameConfig
|
public class TestConfig extends GameConfig
|
||||||
@@ -28,7 +29,7 @@ public class TestConfig extends GameConfig
|
|||||||
/** The foozle parameter. */
|
/** The foozle parameter. */
|
||||||
public int foozle;
|
public int foozle;
|
||||||
|
|
||||||
public Class getConfiguratorClass ()
|
public GameConfigurator createConfigurator ()
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user