Modified the SceneProvider to take its managers at construct time and made
the scene registry automatically register the scene provider when it is constructed. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@791 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
//
|
||||
// $Id: SceneProvider.java,v 1.6 2001/12/14 23:12:38 mdb Exp $
|
||||
// $Id: SceneProvider.java,v 1.7 2001/12/16 05:39:16 mdb Exp $
|
||||
|
||||
package com.threerings.whirled.server;
|
||||
|
||||
@@ -22,6 +22,15 @@ import com.threerings.whirled.data.SceneModel;
|
||||
public class SceneProvider extends InvocationProvider
|
||||
implements SceneCodes
|
||||
{
|
||||
/**
|
||||
* Constructs a scene provider that will interact with the supplied
|
||||
* scene registry.
|
||||
*/
|
||||
public SceneProvider (SceneRegistry screg)
|
||||
{
|
||||
_screg = screg;
|
||||
}
|
||||
|
||||
/**
|
||||
* Processes a request from a client to move to a new scene.
|
||||
*/
|
||||
@@ -56,7 +65,7 @@ public class SceneProvider extends InvocationProvider
|
||||
|
||||
// make sure the scene they are headed to is actually loaded into
|
||||
// the server
|
||||
WhirledServer.screg.resolveScene(sceneId, rl);
|
||||
_screg.resolveScene(sceneId, rl);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -91,4 +100,7 @@ public class SceneProvider extends InvocationProvider
|
||||
sendResponse(source, invid, MOVE_FAILED_RESPONSE, sfe.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/** The scene registry with which we interact. */
|
||||
protected SceneRegistry _screg;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
//
|
||||
// $Id: SceneRegistry.java,v 1.12 2001/12/14 01:51:46 mdb Exp $
|
||||
// $Id: SceneRegistry.java,v 1.13 2001/12/16 05:39:16 mdb Exp $
|
||||
|
||||
package com.threerings.whirled.server;
|
||||
|
||||
@@ -9,6 +9,8 @@ import java.util.Properties;
|
||||
import com.samskivert.util.HashIntMap;
|
||||
import com.threerings.presents.util.Invoker;
|
||||
|
||||
import com.threerings.presents.server.InvocationManager;
|
||||
|
||||
import com.threerings.crowd.server.CrowdServer;
|
||||
import com.threerings.crowd.server.PlaceManager;
|
||||
|
||||
@@ -39,13 +41,17 @@ public class SceneRegistry
|
||||
* Constructs a scene registry, instructing it to load and store
|
||||
* scenes using the supplied scene repository.
|
||||
*/
|
||||
public SceneRegistry (SceneRepository screp)
|
||||
public SceneRegistry (InvocationManager invmgr, SceneRepository screp)
|
||||
{
|
||||
_screp = screp;
|
||||
|
||||
// use a default runtime scene factory for now; assume that
|
||||
// containing systems will call setRuntimeSceneFactory() later
|
||||
_scfact = new DefaultRuntimeSceneFactory();
|
||||
|
||||
// create/register a scene provider with the invocation services
|
||||
SceneProvider provider = new SceneProvider(this);
|
||||
invmgr.registerProvider(SceneProvider.MODULE_NAME, provider);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
//
|
||||
// $Id: WhirledServer.java,v 1.10 2001/12/03 22:07:31 mdb Exp $
|
||||
// $Id: WhirledServer.java,v 1.11 2001/12/16 05:39:16 mdb Exp $
|
||||
|
||||
package com.threerings.whirled.server;
|
||||
|
||||
@@ -58,7 +58,7 @@ public class WhirledServer extends CrowdServer
|
||||
_screp = createSceneRepository(conprov);
|
||||
|
||||
// create our scene registry
|
||||
screg = new SceneRegistry(_screp);
|
||||
screg = new SceneRegistry(invmgr, _screp);
|
||||
|
||||
// register our invocation service providers
|
||||
registerProviders(config.getValue(PROVIDERS_KEY, (String[])null));
|
||||
|
||||
Reference in New Issue
Block a user