diff --git a/src/as/com/threerings/crowd/client/OccupantAdapter.as b/src/as/com/threerings/crowd/client/OccupantAdapter.as new file mode 100644 index 000000000..57fe3e16c --- /dev/null +++ b/src/as/com/threerings/crowd/client/OccupantAdapter.as @@ -0,0 +1,65 @@ +// +// $Id: LocationAdapter.as 4652 2007-04-07 00:25:28Z dhoover $ +// +// Narya library - tools for developing networked games +// Copyright (C) 2002-2007 Three Rings Design, Inc., All Rights Reserved +// http://www.threerings.net/code/narya/ +// +// 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.crowd.client { + +import com.threerings.crowd.data.OccupantInfo; + +public class OccupantAdapter + implements OccupantObserver +{ + public function OccupantAdapter ( + entered :Function = null, left :Function = null, updated :Function = null) + { + _entered = entered; + _left = left; + _updated = updated; + } + + // from interface OccupantObserver + public function occupantEntered (info :OccupantInfo) :void + { + if (_entered) { + _entered(info); + } + } + + // from interface OccupantObserver + public function occupantLeft (info :OccupantInfo) :void + { + if (_left) { + _left(info); + } + } + + // from interface OccupantObserver + public function occupantUpdated (oldinfo :OccupantInfo, newinfo :OccupantInfo) :void + { + if (_updated) { + _updated(oldinfo, newinfo); + } + } + + protected var _entered :Function; + protected var _left :Function; + protected var _updated :Function; +} +}