Added a Cloneable interface, fixed up a few bits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4148 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -325,6 +325,7 @@ public class ChatDirector extends BasicDirector
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
trace("Chatted: " + record + ", " + hist[0]);
|
||||||
if (record) {
|
if (record) {
|
||||||
// get the final history-ready command string
|
// get the final history-ready command string
|
||||||
hist[0] = "/" + ((hist[0] == null) ? command : hist[0]);
|
hist[0] = "/" + ((hist[0] == null) ? command : hist[0]);
|
||||||
|
|||||||
@@ -189,6 +189,7 @@ public class Communicator
|
|||||||
*/
|
*/
|
||||||
protected function socketClosed (event :Event) :void
|
protected function socketClosed (event :Event) :void
|
||||||
{
|
{
|
||||||
|
Log.getLog(this).warning("socket was closed: " + event);
|
||||||
_client.notifyObservers(ClientEvent.CLIENT_CONNECTION_FAILED);
|
_client.notifyObservers(ClientEvent.CLIENT_CONNECTION_FAILED);
|
||||||
shutdown(null);
|
shutdown(null);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,13 +8,13 @@ public class ConfirmMarshaller extends ListenerMarshaller
|
|||||||
public static const REQUEST_PROCESSED :int = 1;
|
public static const REQUEST_PROCESSED :int = 1;
|
||||||
|
|
||||||
// documetnation inherited from interfacc
|
// documetnation inherited from interfacc
|
||||||
public function requestProcessed ()
|
public function requestProcessed () :void
|
||||||
{
|
{
|
||||||
// TODO: server only?
|
// TODO: server only?
|
||||||
}
|
}
|
||||||
|
|
||||||
// documetnation inherited
|
// documetnation inherited
|
||||||
public function dispatchResponse (methodId :int, args :Array) :void
|
public override function dispatchResponse (methodId :int, args :Array) :void
|
||||||
{
|
{
|
||||||
switch (methodId) {
|
switch (methodId) {
|
||||||
case REQUEST_PROCESSED:
|
case REQUEST_PROCESSED:
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
package com.threerings.util {
|
||||||
|
|
||||||
|
public interface Cloneable
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Create a clone of this object.
|
||||||
|
*/
|
||||||
|
function clone () :Object;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -21,17 +21,15 @@
|
|||||||
|
|
||||||
package com.threerings.whirled.data {
|
package com.threerings.whirled.data {
|
||||||
|
|
||||||
|
import com.threerings.util.Cloneable;
|
||||||
|
|
||||||
import com.threerings.io.Streamable;
|
import com.threerings.io.Streamable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An interface that must be implemented by auxiliary scene models.
|
* An interface that must be implemented by auxiliary scene models.
|
||||||
*/
|
*/
|
||||||
public interface AuxModel extends Streamable /*, Cloneable*/
|
public interface AuxModel extends Streamable, Cloneable
|
||||||
{
|
{
|
||||||
/**
|
// no new methods
|
||||||
* Creates a clone of this auxiliary model.
|
|
||||||
*/
|
|
||||||
function clone () :Object;
|
|
||||||
//throws CloneNotSupportedException;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
package com.threerings.whirled.data {
|
package com.threerings.whirled.data {
|
||||||
|
|
||||||
import com.threerings.util.ClassUtil;
|
import com.threerings.util.ClassUtil;
|
||||||
|
import com.threerings.util.Cloneable;
|
||||||
|
|
||||||
import com.threerings.io.ObjectInputStream;
|
import com.threerings.io.ObjectInputStream;
|
||||||
import com.threerings.io.ObjectOutputStream;
|
import com.threerings.io.ObjectOutputStream;
|
||||||
@@ -38,7 +39,7 @@ import com.threerings.io.TypedArray;
|
|||||||
* server to the client.
|
* server to the client.
|
||||||
*/
|
*/
|
||||||
public class SceneModel
|
public class SceneModel
|
||||||
implements Streamable /*, Cloneable */
|
implements Streamable, Cloneable
|
||||||
{
|
{
|
||||||
/** This scene's unique identifier. */
|
/** This scene's unique identifier. */
|
||||||
public var sceneId :int;
|
public var sceneId :int;
|
||||||
@@ -64,7 +65,7 @@ public class SceneModel
|
|||||||
auxModels.push(auxModel);
|
auxModels.push(auxModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
// documentation inherited
|
// documentation inherited from interface Cloneable
|
||||||
public function clone () :Object
|
public function clone () :Object
|
||||||
{
|
{
|
||||||
var clazz :Class = ClassUtil.getClass(this);
|
var clazz :Class = ClassUtil.getClass(this);
|
||||||
|
|||||||
@@ -23,12 +23,13 @@ package com.threerings.whirled.spot.data {
|
|||||||
|
|
||||||
import com.threerings.io.Streamable;
|
import com.threerings.io.Streamable;
|
||||||
|
|
||||||
|
import com.threerings.util.Cloneable;
|
||||||
import com.threerings.util.Hashable;
|
import com.threerings.util.Hashable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Contains information on a scene occupant's position and orientation.
|
* Contains information on a scene occupant's position and orientation.
|
||||||
*/
|
*/
|
||||||
public interface Location extends Streamable, Hashable
|
public interface Location extends Cloneable, Streamable, Hashable
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Get a new Location instance that is equals() to this one but that
|
* Get a new Location instance that is equals() to this one but that
|
||||||
@@ -42,9 +43,10 @@ public interface Location extends Streamable, Hashable
|
|||||||
*/
|
*/
|
||||||
function equivalent (other :Location) :Boolean;
|
function equivalent (other :Location) :Boolean;
|
||||||
|
|
||||||
/**
|
/** Two locations are equals by coordinates only. */
|
||||||
* Locations are cloneable.
|
//function equals (other :Object) :Boolean;
|
||||||
*/
|
|
||||||
function clone () :Object;
|
/** The hashcode should be based on coordinates only. */
|
||||||
|
//function hashCode () :int;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,9 @@
|
|||||||
|
|
||||||
package com.threerings.whirled.spot.data {
|
package com.threerings.whirled.spot.data {
|
||||||
|
|
||||||
|
import com.threerings.util.Byte;
|
||||||
|
import com.threerings.util.Integer;
|
||||||
|
|
||||||
import com.threerings.presents.client.Client;
|
import com.threerings.presents.client.Client;
|
||||||
import com.threerings.presents.client.InvocationService;
|
import com.threerings.presents.client.InvocationService;
|
||||||
import com.threerings.presents.client.ConfirmListener;
|
import com.threerings.presents.client.ConfirmListener;
|
||||||
@@ -29,7 +32,7 @@ import com.threerings.presents.data.ConfirmMarshaller;
|
|||||||
import com.threerings.presents.dobj.InvocationResponseEvent;
|
import com.threerings.presents.dobj.InvocationResponseEvent;
|
||||||
import com.threerings.whirled.client.SceneService;
|
import com.threerings.whirled.client.SceneService;
|
||||||
import com.threerings.whirled.client.SceneService_SceneMoveListener;
|
import com.threerings.whirled.client.SceneService_SceneMoveListener;
|
||||||
import com.threerings.whirled.data.SceneMarshaller;
|
import com.threerings.whirled.data.SceneMarshaller_SceneMoveMarshaller;
|
||||||
import com.threerings.whirled.spot.client.SpotService;
|
import com.threerings.whirled.spot.client.SpotService;
|
||||||
import com.threerings.whirled.spot.data.Location;
|
import com.threerings.whirled.spot.data.Location;
|
||||||
|
|
||||||
@@ -73,7 +76,7 @@ public class SpotMarshaller extends InvocationMarshaller
|
|||||||
// documentation inherited from interface
|
// documentation inherited from interface
|
||||||
public function joinCluster (arg1 :Client, arg2 :int, arg3 :ConfirmListener) :void
|
public function joinCluster (arg1 :Client, arg2 :int, arg3 :ConfirmListener) :void
|
||||||
{
|
{
|
||||||
var listener3 :ConfirmMarshaller listener3 = new ConfirmMarshaller();
|
var listener3 :ConfirmMarshaller = new ConfirmMarshaller();
|
||||||
listener3.listener = arg3;
|
listener3.listener = arg3;
|
||||||
sendRequest(arg1, JOIN_CLUSTER, [
|
sendRequest(arg1, JOIN_CLUSTER, [
|
||||||
new Integer(arg2), listener3
|
new Integer(arg2), listener3
|
||||||
|
|||||||
Reference in New Issue
Block a user