Big fat bernie OccupantInfo revamp. Now:

- OccupantInfo is created by the BodyObject
- the BodyObject is passed to the OI constructor and it uses information
  therefrom to configure itself
- the PlaceManager are no longer responsible for indicating the type of
  OccupantInfo to use or how to populate it.

This makes much more sense as the same type of OccupantInfo is generally used
across the entire system and it's annoying to have to have every PlaceMaanger
derived class know the type of OccupantInfo to create and know how to
initialize it. The one drawback is that only information from the BodyObject
can be used to populate the OccupantInfo, unpublished server-side only
information cannot be used (unless its stuffed into a transient field in the
BodyObject).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3774 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Michael Bayne
2005-12-03 03:05:06 +00:00
parent 15ea2134e3
commit d57adeca1c
6 changed files with 62 additions and 49 deletions
@@ -120,6 +120,15 @@ public class BodyObject extends ClientObject
return username;
}
/**
* Creates a blank occupant info instance that will used to publish
* information about the various bodies occupying a place.
*/
public OccupantInfo createOccupantInfo ()
{
return new OccupantInfo(this);
}
// documentation inherited
public void applyToListeners (ListenerOp op)
{