- set up the playerStatus array before gameWillStart() so that we can properly
note players that abandon ship before the game is going;
- fixed some raw collection usage;
- fixed some assumptions about IN_PLAY being the only state that means a game
is in play.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4127 542714f4-19e9-0310-aa3c-eee0fc999fb1
cancel rather than start a game if zero humans showed up.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4049 542714f4-19e9-0310-aa3c-eee0fc999fb1
looking it up by name which creates PITA when we want to obfuscate and strip
out unused code.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4026 542714f4-19e9-0310-aa3c-eee0fc999fb1
it is (seated or free-for-all) or if it's not a party game after all
(which the old interface supported and we may need in the future).
- Cleaned up the setting of table occupants to make the extension in yohoho
cleaner.
- tables are now party-game aware and will do the right thing with
the occupants list.
- simplified Table.equals() and added a corresponding hashCode(), because
two objects that are equals() must give the same hashCode.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3804 542714f4-19e9-0310-aa3c-eee0fc999fb1
gameDidStart(), etc. and with the new GameManager.stateDidChange().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3789 542714f4-19e9-0310-aa3c-eee0fc999fb1
as their authentication name (which we leave in BodyObject.username). This
turns out to be simpler than the system we adopted for Yohoho wherein we
replace the player's user object after they select a character, but converting
to this sort of system is way more work than would be worth it.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3758 542714f4-19e9-0310-aa3c-eee0fc999fb1
The configurator will use that as its prototype, and attempt to configure
the UI elements to display the values in that config.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3755 542714f4-19e9-0310-aa3c-eee0fc999fb1
Set it if a table game is created as being private.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3738 542714f4-19e9-0310-aa3c-eee0fc999fb1
leaving player was the last human player in the room, bodyLeft() will result in
a call to placeBecameEmpty() which will shut the game manager down before it
has a chance to end the game cleanly as a result of said player leaving.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3708 542714f4-19e9-0310-aa3c-eee0fc999fb1
in a turn-based game where the turn holder is replaced and update the
turnHolder field in a way that doesn't cause the client to think that the
turn changed.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3667 542714f4-19e9-0310-aa3c-eee0fc999fb1
- If a player leaves, handle the ending of their game in GameManager.
- don't start the turn first turn in turn-based games on a missing player
- Let derived classes get playerGameDidEnd() even if the game doesn't
have statuses.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3640 542714f4-19e9-0310-aa3c-eee0fc999fb1
with -1 (I saw it happen entering a sword game as a watcher).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3613 542714f4-19e9-0310-aa3c-eee0fc999fb1
that we're using a grid bag layout and they should use addControl().
Toybox is updated, and if there's anything else out there it's going
to need to be updated anyway, because it likely extends GameConfigurator
directly which is no longer a component.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3611 542714f4-19e9-0310-aa3c-eee0fc999fb1
a method in Table to return the compressed team indices, added
a new TeamGameManager which can be implemented to have the final
team info communicated to the game manager.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3604 542714f4-19e9-0310-aa3c-eee0fc999fb1
been created. A party game starts itself without direct user intervention.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3600 542714f4-19e9-0310-aa3c-eee0fc999fb1
- GameConfigurators are no longer JPanels, but rather abstract classes
that show UI in their own way. There is a SwingGameConfigurator that
has a panel.
- TableConfigurator is no longer an interface, but is now more closely
like the GameConfigurator.
- Repackaged some things that were in the wrong place.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3593 542714f4-19e9-0310-aa3c-eee0fc999fb1
associated options depending on the context of the puzzle, for example
the wager, or tournament options. Kept the default layout as a vgroup
for backwards compatability (although I think the only thing that needs
that is the ToyBoxConfigurator, and I've been wanting to make that bad
boy line up nicely for a while now, so this backwards compatible stuff
will only be needed for a short while).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3590 542714f4-19e9-0310-aa3c-eee0fc999fb1
Subclasses can now easily add their own descriptions on to the beginning
or end of their superclass's descriptions without having to do the
hokey pokey.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3570 542714f4-19e9-0310-aa3c-eee0fc999fb1
that initBoard didn't generate some exceptions now that the player
status initialization occurs after board summary initialization. This
occurs in sword fighting and old drinking, for the record.)
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3546 542714f4-19e9-0310-aa3c-eee0fc999fb1