The great Game API re-org.

Moved everything onto sub-control objects.
Got rid of the Listener interfaces.
https://intranet.earth.threerings.net/metasoy/EZGame_API_Reorg

I'll go through and make the documentation nice next.


git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@535 c613c5cb-e716-0410-b11b-feb51c14d237
This commit is contained in:
Ray Greenwell
2007-12-21 23:57:02 +00:00
parent 8c27874128
commit d711f2ae97
25 changed files with 1346 additions and 1069 deletions
@@ -0,0 +1,68 @@
//
// $Id: SubControl.as 271 2007-04-07 00:25:58Z dhoover $
//
// 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 {
import flash.errors.IllegalOperationError;
/**
* Abstract base class. Do not instantiate.
*/
public class AbstractSubControl extends AbstractControl
{
public function AbstractSubControl (parent :AbstractControl)
{
super();
if (parent == null || Object(this).constructor == AbstractSubControl) {
throw new IllegalOperationError("Abstract");
}
_parent = parent;
}
override public function isConnected () :Boolean
{
return _parent.isConnected();
}
override public function doBatch (fn :Function) :void
{
return _parent.doBatch(fn);
}
override protected function callHostCode (name :String, ... args) :*
{
return _parent.callHostCodeFriend(name, args);
}
internal function populatePropertiesFriend (o :Object) :void
{
populateProperties(o);
}
internal function setHostPropsFriend (o :Object) :void
{
setHostProps(o);
}
protected var _parent :AbstractControl;
}
}