Let the caller know that we're refusing a duplicate interesting object.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3071 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
//
|
||||
// $Id: MisoSceneModel.java,v 1.19 2004/02/25 14:43:57 mdb Exp $
|
||||
// $Id: MisoSceneModel.java,v 1.20 2004/08/13 20:48:27 mdb Exp $
|
||||
|
||||
package com.threerings.miso.data;
|
||||
|
||||
@@ -75,8 +75,11 @@ public abstract class MisoSceneModel extends SimpleStreamableObject
|
||||
|
||||
/**
|
||||
* Adds an object to this scene.
|
||||
*
|
||||
* @return true if the object was added, false if the add was rejected
|
||||
* due to being a duplicate.
|
||||
*/
|
||||
public abstract void addObject (ObjectInfo info);
|
||||
public abstract boolean addObject (ObjectInfo info);
|
||||
|
||||
/**
|
||||
* Updates an object in this scene.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
//
|
||||
// $Id: SimpleMisoSceneModel.java,v 1.5 2003/04/19 22:40:34 mdb Exp $
|
||||
// $Id: SimpleMisoSceneModel.java,v 1.6 2004/08/13 20:48:27 mdb Exp $
|
||||
|
||||
package com.threerings.miso.data;
|
||||
|
||||
@@ -126,7 +126,7 @@ public class SimpleMisoSceneModel extends MisoSceneModel
|
||||
}
|
||||
|
||||
// documentation inherited
|
||||
public void addObject (ObjectInfo info)
|
||||
public boolean addObject (ObjectInfo info)
|
||||
{
|
||||
if (info.isInteresting()) {
|
||||
objectInfo = (ObjectInfo[])ArrayUtil.append(objectInfo, info);
|
||||
@@ -135,6 +135,7 @@ public class SimpleMisoSceneModel extends MisoSceneModel
|
||||
objectXs = ArrayUtil.append(objectXs, (short)info.x);
|
||||
objectYs = ArrayUtil.append(objectYs, (short)info.y);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// documentation inherited
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
//
|
||||
// $Id: SparseMisoSceneModel.java,v 1.13 2004/03/31 02:16:12 eric Exp $
|
||||
// $Id: SparseMisoSceneModel.java,v 1.14 2004/08/13 20:48:27 mdb Exp $
|
||||
|
||||
package com.threerings.miso.data;
|
||||
|
||||
@@ -97,14 +97,14 @@ public class SparseMisoSceneModel extends MisoSceneModel
|
||||
baseTileIds[(row-y)*width+(col-x)] = fqBaseTileId;
|
||||
}
|
||||
|
||||
public void addObject (ObjectInfo info) {
|
||||
public boolean addObject (ObjectInfo info) {
|
||||
// sanity check: see if there is already an object of this
|
||||
// type at these coordinates
|
||||
if (ListUtil.indexOfEqual(objectInfo, info) != -1 ||
|
||||
indexOfUn(info) != -1) {
|
||||
Log.warning("Refusing to add duplicate interesting " +
|
||||
"object " + info + ".");
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (info.isInteresting()) {
|
||||
@@ -114,6 +114,7 @@ public class SparseMisoSceneModel extends MisoSceneModel
|
||||
objectXs = ArrayUtil.append(objectXs, (short)info.x);
|
||||
objectYs = ArrayUtil.append(objectYs, (short)info.y);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean removeObject (ObjectInfo info) {
|
||||
@@ -329,9 +330,9 @@ public class SparseMisoSceneModel extends MisoSceneModel
|
||||
}
|
||||
|
||||
// documentation inherited
|
||||
public void addObject (ObjectInfo info)
|
||||
public boolean addObject (ObjectInfo info)
|
||||
{
|
||||
getSection(info.x, info.y, true).addObject(info);
|
||||
return getSection(info.x, info.y, true).addObject(info);
|
||||
}
|
||||
|
||||
// documentation inherited
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
//
|
||||
// $Id: VirtualMisoSceneModel.java,v 1.4 2004/02/25 14:43:57 mdb Exp $
|
||||
// $Id: VirtualMisoSceneModel.java,v 1.5 2004/08/13 20:48:27 mdb Exp $
|
||||
|
||||
package com.threerings.miso.data;
|
||||
|
||||
@@ -21,7 +21,7 @@ public abstract class VirtualMisoSceneModel extends MisoSceneModel
|
||||
}
|
||||
|
||||
// documentation inherited from interface
|
||||
public void addObject (ObjectInfo info)
|
||||
public boolean addObject (ObjectInfo info)
|
||||
{
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user