Zones! Scenes can be grouped into zones which are traversed via a
higher-level mechanism. Zones provide zone summaries which can be used to generate maps of the zones on the client. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@727 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
//
|
||||
// $Id: ZoneManager.java,v 1.1 2001/12/04 00:31:58 mdb Exp $
|
||||
|
||||
package com.threerings.whirled.zone.server;
|
||||
|
||||
import com.threerings.whirled.zone.data.ZoneSummary;
|
||||
|
||||
/**
|
||||
* A zone is a collection of scenes organized into a connected group. A
|
||||
* user can wander around within a zone, moving from scene to scene via
|
||||
* the standard mechanisms. To move between zones, they must use a special
|
||||
* mechanism (like at the dock, they can move from an island zone into
|
||||
* their ship zone; or they can move from an island zone into their house
|
||||
* zone). A zone provides scene summary information that can be used to
|
||||
* display a map of the zone to the client.
|
||||
*/
|
||||
public interface ZoneManager
|
||||
{
|
||||
/**
|
||||
* Used to notify requesters when an asynchronous zone load has
|
||||
* completed (successfully or not).
|
||||
*/
|
||||
public static interface ResolutionListener
|
||||
{
|
||||
/**
|
||||
* Called when a zone was successfully resolved.
|
||||
*/
|
||||
public void zoneWasResolved (ZoneSummary summary);
|
||||
|
||||
/**
|
||||
* Called when a zone failed to resolve.
|
||||
*/
|
||||
public void zoneFailedToResolve (int zoneId, Exception reason);
|
||||
}
|
||||
|
||||
/**
|
||||
* Resolves and delivers the scene summary information for the
|
||||
* requested zone. Zone resolution is an asynchronous process, which
|
||||
* necessitates this callback-style interface.
|
||||
*/
|
||||
public void resolveZone (int zoneId, ResolutionListener listener);
|
||||
}
|
||||
Reference in New Issue
Block a user