Commit Graph

13 Commits

Author SHA1 Message Date
Michael Bayne 2f6199cf06 Register our cluster chat objects with their own happy chat message type.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@809 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 21:47:37 +00:00
Michael Bayne 178639e0c8 Clear out our cluster chat object subscription when we leave a place and
added some checks to avoid sending cluster speak requests unless we
currently occupy a location that is in a cluster.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@806 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 21:23:27 +00:00
Michael Bayne 5082bb817f Added convenience functions for looking up a location by id and a location
index by id.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@805 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 21:22:31 +00:00
Michael Bayne 1c02c2d6f4 Got cluster chat support working. Made it an invocation service rather
than a place service (which may be changed back when place services
improve or I may change the main chat stuff to be an invocation service).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@803 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 21:02:18 +00:00
Michael Bayne 769b2e8895 Blag! Both the ZoneDirector and the SpotSceneDirector needed to extend the
SceneDirector which, without multiple inheritance, would make it
impossible to use both in a single client. Of course, we need to use both
in Yohoho!

So I refactored the whole enchilada to delegate rather than extend, which
blows because various methods must now be made public and a particular
failure case for the moveTo request now requires that a special failure
handler interface be made available so that LocationDirector "extensions"
can inject themselves into the failure handling process.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@789 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-16 05:18:20 +00:00
Michael Bayne efd1a69caa Finished up implementation of portal traversal back-end.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@781 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-14 23:12:39 +00:00
Michael Bayne 9737db1e0e Need this to prevent circumvention (which is not quite as bad as
circumcision nor as fun as circumnavigation).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@777 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-14 02:44:10 +00:00
Michael Bayne 8e27b7e740 Wired up rest of location change stuff.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@776 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-14 01:51:46 +00:00
Michael Bayne a38684db5e Beginnings of Spot invocation services to allow moving between locations,
tracking and reporting locations of bodies within a scene and handling
chatting between users in a cluster. Other minor cleanups.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@774 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-14 00:12:32 +00:00
Michael Bayne 2c27824718 Sweet Mary, mother of Jesus! Another fucking refactor. It turns out that
the way I was doing inheritance between the display and editable scene
implementations was not copacetic. The new method (which is for every
editable scene impl to delegate to a display scene impl so that regardless
of how far along you are on the inheritance chain, there are only ever two
actual objects, the display impl and the editable impl) is somewhat
cleaner, but makes it clear that no method can work as nicely as it would
were we to have mutliple inheritance.

The basic problem is that the editable versions of the scenes have to be
able to manipulate the instance variables in the display versions of the
scenes because they have to keep them up to date so that they are
displaying the right thing. As the editable versions are in different
packages, they don't have access to the display instance variables, so the
display versions simply have to make available enough "editable"
functionality to allow the editable versions to get their job done. It's
more coupling that I'd like, but at least it's only between the display
and editable versions across the inheritance hierarchy rather than down
the hierarchy.

Blah.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@745 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-05 08:45:06 +00:00
Michael Bayne dd69489de4 More scene and spot scene refactoring. Got parsers working for those in
the new new style (or was that the new new new style).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@739 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-12-05 03:38:10 +00:00
Michael Bayne cdc4adfca8 Added getDefaultEntranceId().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@663 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-29 00:16:11 +00:00
Michael Bayne e82bc2b4fe Beginnings of Spot services.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@618 542714f4-19e9-0310-aa3c-eee0fc999fb1
2001-11-13 02:25:36 +00:00