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;
|
package com.threerings.whirled.server;
|
||||||
|
|
||||||
@@ -22,6 +22,15 @@ import com.threerings.whirled.data.SceneModel;
|
|||||||
public class SceneProvider extends InvocationProvider
|
public class SceneProvider extends InvocationProvider
|
||||||
implements SceneCodes
|
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.
|
* 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
|
// make sure the scene they are headed to is actually loaded into
|
||||||
// the server
|
// 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());
|
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;
|
package com.threerings.whirled.server;
|
||||||
|
|
||||||
@@ -9,6 +9,8 @@ import java.util.Properties;
|
|||||||
import com.samskivert.util.HashIntMap;
|
import com.samskivert.util.HashIntMap;
|
||||||
import com.threerings.presents.util.Invoker;
|
import com.threerings.presents.util.Invoker;
|
||||||
|
|
||||||
|
import com.threerings.presents.server.InvocationManager;
|
||||||
|
|
||||||
import com.threerings.crowd.server.CrowdServer;
|
import com.threerings.crowd.server.CrowdServer;
|
||||||
import com.threerings.crowd.server.PlaceManager;
|
import com.threerings.crowd.server.PlaceManager;
|
||||||
|
|
||||||
@@ -39,13 +41,17 @@ public class SceneRegistry
|
|||||||
* Constructs a scene registry, instructing it to load and store
|
* Constructs a scene registry, instructing it to load and store
|
||||||
* scenes using the supplied scene repository.
|
* scenes using the supplied scene repository.
|
||||||
*/
|
*/
|
||||||
public SceneRegistry (SceneRepository screp)
|
public SceneRegistry (InvocationManager invmgr, SceneRepository screp)
|
||||||
{
|
{
|
||||||
_screp = screp;
|
_screp = screp;
|
||||||
|
|
||||||
// use a default runtime scene factory for now; assume that
|
// use a default runtime scene factory for now; assume that
|
||||||
// containing systems will call setRuntimeSceneFactory() later
|
// containing systems will call setRuntimeSceneFactory() later
|
||||||
_scfact = new DefaultRuntimeSceneFactory();
|
_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;
|
package com.threerings.whirled.server;
|
||||||
|
|
||||||
@@ -58,7 +58,7 @@ public class WhirledServer extends CrowdServer
|
|||||||
_screp = createSceneRepository(conprov);
|
_screp = createSceneRepository(conprov);
|
||||||
|
|
||||||
// create our scene registry
|
// create our scene registry
|
||||||
screg = new SceneRegistry(_screp);
|
screg = new SceneRegistry(invmgr, _screp);
|
||||||
|
|
||||||
// register our invocation service providers
|
// register our invocation service providers
|
||||||
registerProviders(config.getValue(PROVIDERS_KEY, (String[])null));
|
registerProviders(config.getValue(PROVIDERS_KEY, (String[])null));
|
||||||
|
|||||||
Reference in New Issue
Block a user