7538ddcc7f
Blowtorch". Refactored GameConfig and the EZ game framework, cleaning up some old cruft from GameConfig (which will break other projects and which I'll fix ASAP) and moved the XML based configuration system from ToyBox into EZGame. git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@286 c613c5cb-e716-0410-b11b-feb51c14d237
83 lines
2.5 KiB
ActionScript
83 lines
2.5 KiB
ActionScript
//
|
|
// $Id$
|
|
//
|
|
// Vilya library - tools for developing networked games
|
|
// Copyright (C) 2002-2007 Three Rings Design, Inc., All Rights Reserved
|
|
// http://www.threerings.net/code/vilya/
|
|
//
|
|
// This library is free software; you can redistribute it and/or modify it
|
|
// under the terms of the GNU Lesser General Public License as published
|
|
// by the Free Software Foundation; either version 2.1 of the License, or
|
|
// (at your option) any later version.
|
|
//
|
|
// This library is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
// Lesser General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU Lesser General Public
|
|
// License along with this library; if not, write to the Free Software
|
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
package com.threerings.ezgame.data {
|
|
|
|
import com.threerings.io.ObjectInputStream;
|
|
import com.threerings.io.ObjectOutputStream;
|
|
|
|
import com.threerings.parlor.game.data.GameConfig;
|
|
|
|
/**
|
|
* Extends {@link MatchConfig} with information about match-making in the table style.
|
|
*/
|
|
public class TableMatchConfig extends MatchConfig
|
|
{
|
|
/** The minimum number of seats at this table. */
|
|
public var minSeats :int;
|
|
|
|
/** The starting setting for the number of seats at this table. */
|
|
public var startSeats :int;
|
|
|
|
/** The maximum number of seats at this table. */
|
|
public var maxSeats :int;
|
|
|
|
/** This is set to true if this is a party game. */
|
|
public var isPartyGame :Boolean;
|
|
|
|
public function TableMatchConfig ()
|
|
{
|
|
}
|
|
|
|
// from MatchConfig
|
|
override public function getMatchType () :int
|
|
{
|
|
return isPartyGame ? GameConfig.PARTY : GameConfig.SEATED_GAME;
|
|
}
|
|
|
|
// from MatchConfig
|
|
override public function getMinimumPlayers () :int
|
|
{
|
|
return minSeats;
|
|
}
|
|
|
|
// from interface Streamable
|
|
override public function readObject (ins :ObjectInputStream) :void
|
|
{
|
|
super.readObject(ins);
|
|
minSeats = ins.readInt();
|
|
startSeats = ins.readInt();
|
|
maxSeats = ins.readInt();
|
|
isPartyGame = ins.readBoolean();
|
|
}
|
|
|
|
// from interface Streamable
|
|
override public function writeObject (out :ObjectOutputStream) :void
|
|
{
|
|
super.writeObject(out);
|
|
out.writeInt(minSeats);
|
|
out.writeInt(startSeats);
|
|
out.writeInt(maxSeats);
|
|
out.writeBoolean(isPartyGame);
|
|
}
|
|
}
|
|
}
|