From a5c01f83439871c2ea355470a7019da465027712 Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Tue, 4 Feb 2003 17:24:56 +0000 Subject: [PATCH] Added addObject(). git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2237 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- .../miso/server/RuntimeMisoScene.java | 8 +++++++- .../miso/server/RuntimeMisoSceneImpl.java | 19 ++++++++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src/java/com/threerings/miso/server/RuntimeMisoScene.java b/src/java/com/threerings/miso/server/RuntimeMisoScene.java index 8b04fb01c..35a2ce2b6 100644 --- a/src/java/com/threerings/miso/server/RuntimeMisoScene.java +++ b/src/java/com/threerings/miso/server/RuntimeMisoScene.java @@ -1,5 +1,5 @@ // -// $Id: RuntimeMisoScene.java,v 1.2 2003/01/31 23:10:45 mdb Exp $ +// $Id: RuntimeMisoScene.java,v 1.3 2003/02/04 17:24:56 mdb Exp $ package com.threerings.miso.server; @@ -17,4 +17,10 @@ public interface RuntimeMisoScene * "interesting" objects in the scene. */ public Iterator enumerateObjects (); + + /** + * Adds the supplied object to this scene and immediately updates the + * underlying scene model. + */ + public void addObject (ObjectInfo info); } diff --git a/src/java/com/threerings/miso/server/RuntimeMisoSceneImpl.java b/src/java/com/threerings/miso/server/RuntimeMisoSceneImpl.java index ba94aa3fc..912bc7b73 100644 --- a/src/java/com/threerings/miso/server/RuntimeMisoSceneImpl.java +++ b/src/java/com/threerings/miso/server/RuntimeMisoSceneImpl.java @@ -1,5 +1,5 @@ // -// $Id: RuntimeMisoSceneImpl.java,v 1.2 2003/01/31 23:10:45 mdb Exp $ +// $Id: RuntimeMisoSceneImpl.java,v 1.3 2003/02/04 17:24:56 mdb Exp $ package com.threerings.miso.server; @@ -34,6 +34,23 @@ public class RuntimeMisoSceneImpl return _objects.iterator(); } + // documentation inherited from interface + public void addObject (ObjectInfo info) + { + // slap it on our list + _objects.add(info); + + // slip it into the interesting array + int ocount = _model.objectInfo.length; + ObjectInfo[] objectInfo = new ObjectInfo[ocount+1]; + System.arraycopy(_model.objectInfo, 0, objectInfo, 0, ocount); + objectInfo[ocount] = info; + _model.objectInfo = objectInfo; + } + + /** Our scene model. */ + protected MisoSceneModel _model; + /** The object info records. */ protected ArrayList _objects = new ArrayList(); }