This is the base object used to describe an AESOP map. More...
|virtual||~Map (void) throw ()|
|virtual const char *||getId (void) const =0 throw ()|
|virtual Zone *||getRootZone (void)=0 throw ()|
|virtual Zone *||getZone (IN const char *zone_id)=0|
|virtual void||iterateZones (IN zone_iteration_fn, IN void *context)=0|
|virtual const char *||getDefaultStartingPointId (void) const =0 throw ()|
|virtual void||getStartingPointIds (OUT VecString &ids) const =0|
|virtual void||getStartingPoint (IN const char *id, OUT destination_t &start) const =0|
This is the base object used to describe an AESOP map.
From a Map interface, it is possible to traverse and find all zones, static content, etc.
Maps need to be threadsafe. In practice this isn't interesting because maps are read-only after they are loaded. Anything that changes (such as objects being added or removed, moving around, etc.) is handled by the MapDynamics library, not the base Map or Zone objects.