Commit Graph

50 Commits

Author SHA1 Message Date
Ray Greenwell cd138d2258 Broke-out all modifications to the tables DSet into overrideable methods.
updateTables was already there, but I renamed it for consistency.
Pretty sure this doesn't booch any subclasses.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@847 c613c5cb-e716-0410-b11b-feb51c14d237
2009-06-03 23:21:25 +00:00
Dave Hoover cf1ad4ac4d Prune trailing whitespace & foreachize loops.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@840 c613c5cb-e716-0410-b11b-feb51c14d237
2009-05-23 02:00:23 +00:00
Michael Bayne 0fe7c93745 Update comment and throws based on what I ended up going with.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@833 c613c5cb-e716-0410-b11b-feb51c14d237
2009-05-01 21:02:09 +00:00
Michael Bayne cfe2e3126a Publish our table after we create the game if we're going to immediately create
the game. Also factor that out into tableCreated() for easy subclass listening.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@832 c613c5cb-e716-0410-b11b-feb51c14d237
2009-05-01 21:01:24 +00:00
Michael Bayne da05e8a781 Added getTableCount().
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@831 c613c5cb-e716-0410-b11b-feb51c14d237
2009-05-01 20:52:23 +00:00
Michael Bayne 065d0e243f Add support for differentiating properly between interesting and not
interesting tables and not publishing the not interesting tables in the table
lobby object.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@830 c613c5cb-e716-0410-b11b-feb51c14d237
2009-05-01 20:48:52 +00:00
Dave Hoover 20657dbaff Remove trailing whitespace throughout, and then widen/vararg/foreachize some
card game stuff that we were looking at.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@804 c613c5cb-e716-0410-b11b-feb51c14d237
2009-03-17 17:46:50 +00:00
Jamie Doornbos b748974845 Once a table is purged, stop listening to the game object, otherwise we get warnings when the game goes away or the occupants change. purgeTable is called from a number of places, apparently sometimes before unmapTable
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@796 c613c5cb-e716-0410-b11b-feb51c14d237
2009-01-06 01:24:55 +00:00
Jamie Doornbos 2d427dc407 Fixed edge case where the table and game go out of sync if the user manages to leave a table after the game starts... probably not too hard on a busy server or slow connection. This was the cause of 547 "WARN TableManager: No body to table mapping to clear?" lines in yesterday's log
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@780 c613c5cb-e716-0410-b11b-feb51c14d237
2008-11-13 23:26:04 +00:00
Michael Bayne 244b9b22b8 Use error message names that make sense. Differentiate between not allowing
something because the requester is not the owner of the table and trying to
boot onesself from the table.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@764 c613c5cb-e716-0410-b11b-feb51c14d237
2008-10-23 20:20:14 +00:00
Dave Hoover 8b03be111e Imports cleanup
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@751 c613c5cb-e716-0410-b11b-feb51c14d237
2008-09-26 17:36:37 +00:00
Bruno Garcia a72c810193 Boot by Name instead of table position
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@730 c613c5cb-e716-0410-b11b-feb51c14d237
2008-08-15 23:37:46 +00:00
Bruno Garcia e590dfe1bf Ban by visible name, not username: Thanks Ray
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@717 c613c5cb-e716-0410-b11b-feb51c14d237
2008-08-08 21:30:19 +00:00
Bruno Garcia 0a4b20d412 Booting bug fix: Don't zero out the bodyOid we need until we're done with it
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@716 c613c5cb-e716-0410-b11b-feb51c14d237
2008-08-07 23:46:56 +00:00
Bruno Garcia 7d75f0c760 - Ban booted players from a table
- Boot by sitting position, not oid


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@713 c613c5cb-e716-0410-b11b-feb51c14d237
2008-08-06 22:52:41 +00:00
Bruno Garcia 9a822fe561 - Adding support for booting players from a table
- Apparently genservice hasn't been run in a while, so half of vilya just got poked


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@709 c613c5cb-e716-0410-b11b-feb51c14d237
2008-08-06 00:41:46 +00:00
Dave Hoover 624daadcd9 Nix unneeded imports, add @Overrides, remove content-free comments, and rerun code generators.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@670 c613c5cb-e716-0410-b11b-feb51c14d237
2008-07-18 19:02:08 +00:00
Michael Bayne 4e3f973f2d Let's put those in a more sensible order.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@632 c613c5cb-e716-0410-b11b-feb51c14d237
2008-06-29 12:58:54 +00:00
Michael Bayne 9b3b3c0e5a Remove implicit omgr, invmgr and plreg dependencies.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@631 c613c5cb-e716-0410-b11b-feb51c14d237
2008-06-29 12:57:20 +00:00
Michael Bayne 36c2cc8289 Updated ClientFactory implementations. Use new PlaceManagerDelegate members.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@619 c613c5cb-e716-0410-b11b-feb51c14d237
2008-06-08 20:24:30 +00:00
Michael Bayne a133c7c693 Switch to new logging API.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@608 c613c5cb-e716-0410-b11b-feb51c14d237
2008-05-27 20:00:28 +00:00
Michael Bayne 29460ce450 Don't let a player create a new table or join an existing table if they're
already sitting at a table. We also enforce this in the UI (though not in
certain cases in MSOY at the moment which is how this was uncovered).


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@577 c613c5cb-e716-0410-b11b-feb51c14d237
2008-03-24 23:00:09 +00:00
Michael Bayne 32c4464a85 Revamped some table stuff. First I don't know why I called players occupants,
that was stupid. Now they're called players. Next I added a list of watchers
rather than simply a count. If we're going to go to all the trouble to update
the table when the watchers change, let's have the goods.

This will probably break Bang and/or Yohoho. I'll fix them toot sweet.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@515 c613c5cb-e716-0410-b11b-feb51c14d237
2007-12-06 00:37:32 +00:00
Michael Bayne 6f2dd5e614 Not so verbose.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@513 c613c5cb-e716-0410-b11b-feb51c14d237
2007-12-03 18:30:22 +00:00
Michael Bayne 717beba71f Extract GameManager creation into a specializable method.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@489 c613c5cb-e716-0410-b11b-feb51c14d237
2007-11-10 05:03:47 +00:00
Michael Bayne 1fca67a044 Factored createTable() out into a method that can be called on the server.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@449 c613c5cb-e716-0410-b11b-feb51c14d237
2007-10-12 01:09:46 +00:00
Michael Bayne 962c33d900 Pass the GameManager to gameCreated().
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@440 c613c5cb-e716-0410-b11b-feb51c14d237
2007-09-27 19:38:09 +00:00
Ray Greenwell b75acdf89e - Expanded the user listener to listen for users to become disconnected
and automatically removed them from any pending tables.
- Always use the user listener now, even if we're not in a place.
  So also ensure that notePlayerRemoved() is called as a result of bodyLeft()


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@281 c613c5cb-e716-0410-b11b-feb51c14d237
2007-04-17 00:26:10 +00:00
Michael Bayne 94384e8fc7 Don't note removed on empty slots.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@276 c613c5cb-e716-0410-b11b-feb51c14d237
2007-04-10 17:30:28 +00:00
Michael Bayne d1672d7c79 Use notePlayerRemoved() so that we remove our object death listener
appropriately.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@275 c613c5cb-e716-0410-b11b-feb51c14d237
2007-04-10 17:27:02 +00:00
Michael Bayne 97a8417d4e Listen for object death on table participants when we're not in a place and
can't rely on hearing that they left the place to clean up after them.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@274 c613c5cb-e716-0410-b11b-feb51c14d237
2007-04-10 17:05:48 +00:00
Michael Bayne 8193a87ff2 Freak not out if we're shutdown before all of our games are ended.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@265 c613c5cb-e716-0410-b11b-feb51c14d237
2007-03-23 21:52:56 +00:00
Michael Bayne f62498de20 Idempotency is always handy.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@264 c613c5cb-e716-0410-b11b-feb51c14d237
2007-03-23 20:45:58 +00:00
Michael Bayne ab29481f26 We need to be shutdown now so that we can clean up our invocation service.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@259 c613c5cb-e716-0410-b11b-feb51c14d237
2007-03-22 00:46:37 +00:00
Michael Bayne 459d8b75a0 TableManagerProvider is no more.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@258 c613c5cb-e716-0410-b11b-feb51c14d237
2007-03-22 00:39:58 +00:00
Michael Bayne b71007a909 Yay for rabbit holes. Revamped the table services to decouple them from places.
While I was in there, I extracted the communication between the client and the
TableManager into a new-style "embedded in the TableLobbyObject" service
instead of wonkily routing everything through the global ParlorService and the
ParlorProvider (which got merged into the ParlorManager as a part of this
rabbit holery). The GG build will break... I will fix it.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@255 c613c5cb-e716-0410-b11b-feb51c14d237
2007-03-21 21:38:31 +00:00
Michael Bayne 0af2789c7b Extract the GameConfig creation into an overridable method so that TableManager
users can do the right thing with regard to adding extra configuration stuff
(rather than trusting the client to have done it).


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@227 c613c5cb-e716-0410-b11b-feb51c14d237
2007-03-06 02:20:12 +00:00
Michael Bayne 33f55d5a8d Header patrol. Please be sure to use the header in lib/SOURCE_HEADER when
creating new source files.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@209 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-24 00:37:33 +00:00
Ray Greenwell de354c0e7b Did away with PartyGameConfig, added getGameType() to GameConfig.
Changed the names of the 3 standard game types, but I could be convinced
of better names:

SEATED_GAME: normal match-made game, a game with a set list of players that
             does not change.
SEATED_CONTINUOUS: the game starts immediately, but people join the room
             and then choose a place to sit to become a player.
PARTY: no seats, anyone that enters is a player.

Also, changed SEATED_CONTINUOUS to create an occupants array and auto-sit
the creator, since I'm pretty sure we'll want to show seating in the lobby
for those types of games (but it actually does neither right now, code
needs to be written either way, depending on UI decisions.)


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@182 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-13 00:50:29 +00:00
Ray Greenwell f9dcdd0627 Have the TableDirector place a party game creator in the game, rather
than forcing them from the server.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@175 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-10 20:53:05 +00:00
Ray Greenwell d902b2ed81 Fix NPE when purging a party game.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@170 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-10 03:26:46 +00:00
Ray Greenwell 26c6274289 Remove debugging.
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@169 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-10 01:52:20 +00:00
Ray Greenwell 729335a4a5 The table system now supports the party game types better.
The creator of a party game isn't joining, but I think that's a problem
with the msoy client...


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@168 c613c5cb-e716-0410-b11b-feb51c14d237
2007-02-10 01:36:06 +00:00
Dave Hoover 1245defe65 Actually substitute keywords (these files are chock full of stale $Id$ tags)
git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@150 c613c5cb-e716-0410-b11b-feb51c14d237
2007-01-24 00:22:09 +00:00
Ray Greenwell 52febf265b Allow the TableManager to be configured to create subclasses of Table.
Commented out unneeded flash client code in Table.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@131 c613c5cb-e716-0410-b11b-feb51c14d237
2006-11-17 23:24:14 +00:00
Ray Greenwell 2717fd3b24 Allow tables to be started (by the creator) when there are at
least the minimum players present.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@106 c613c5cb-e716-0410-b11b-feb51c14d237
2006-10-06 02:13:20 +00:00
Michael Bayne 51281a9d49 Let's just call clearOccupant() clearOccupantByOid() to avoid differences
between the Java and ActionScript version since ActionScript doesn't support
method overloading. We only have to observe this limitation in Streamable
classes.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@88 c613c5cb-e716-0410-b11b-feb51c14d237
2006-10-04 21:10:00 +00:00
Michael Bayne eed4d67b9e Restructured things to work with the new mechanism for creating distributed
objects.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@53 c613c5cb-e716-0410-b11b-feb51c14d237
2006-08-23 23:48:07 +00:00
Ray Greenwell b82ab59b1d - Changed Table to just have an int as its key and use autoboxing to make
that a Comparable. It's a slight performance hit, as when a DSet is
  binary searched, it will be boxing up an int for every entry examined.
  Oh well.
- Use some generics.
- Some other cleanups I spotted while writing actionscript versions.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@29 c613c5cb-e716-0410-b11b-feb51c14d237
2006-07-28 02:03:53 +00:00
Michael Bayne a4df87e52f Behold Vilya, Ring of Air and repository for our game and virtual worldly
extensions to the distributed environment provided by Narya.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@1 c613c5cb-e716-0410-b11b-feb51c14d237
2006-06-23 17:58:11 +00:00