Added facilities for obtaining a valid location id from the scene because
it's the one that knows which location ids are in use. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@748 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: EditableSpotScene.java,v 1.4 2001/12/05 03:38:09 mdb Exp $
|
// $Id: EditableSpotScene.java,v 1.5 2001/12/05 09:20:10 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.whirled.tools.spot;
|
package com.threerings.whirled.tools.spot;
|
||||||
|
|
||||||
@@ -27,6 +27,13 @@ public interface EditableSpotScene
|
|||||||
*/
|
*/
|
||||||
public void setDefaultEntranceId (int defaultEntranceId);
|
public void setDefaultEntranceId (int defaultEntranceId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the next valid location id for this scene. Newly created
|
||||||
|
* portals or locations should be assigned a new location id via this
|
||||||
|
* method.
|
||||||
|
*/
|
||||||
|
public int getNextLocationId ();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a location to this scene.
|
* Adds a location to this scene.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
//
|
//
|
||||||
// $Id: EditableSpotSceneImpl.java,v 1.7 2001/12/05 08:45:06 mdb Exp $
|
// $Id: EditableSpotSceneImpl.java,v 1.8 2001/12/05 09:20:10 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.whirled.tools.spot;
|
package com.threerings.whirled.tools.spot;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.threerings.crowd.data.PlaceConfig;
|
import com.threerings.crowd.data.PlaceConfig;
|
||||||
@@ -80,6 +81,13 @@ public class EditableSpotSceneImpl extends EditableSceneImpl
|
|||||||
port.targetPortalName = _emodel.targetPortalNames[i];
|
port.targetPortalName = _emodel.targetPortalNames[i];
|
||||||
portals.set(i, port);
|
portals.set(i, port);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// determine the highest location id in use by this scene
|
||||||
|
Iterator iter = _delegate.getLocations().iterator();
|
||||||
|
while (iter.hasNext()) {
|
||||||
|
_nextLocationId = Math.max(_nextLocationId,
|
||||||
|
((Location)iter.next()).locationId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -123,6 +131,12 @@ public class EditableSpotSceneImpl extends EditableSceneImpl
|
|||||||
_model.defaultEntranceId = defaultEntranceId;
|
_model.defaultEntranceId = defaultEntranceId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// documentation inherited
|
||||||
|
public int getNextLocationId ()
|
||||||
|
{
|
||||||
|
return ++_nextLocationId;
|
||||||
|
}
|
||||||
|
|
||||||
// documentation inherited
|
// documentation inherited
|
||||||
public void addLocation (Location loc)
|
public void addLocation (Location loc)
|
||||||
{
|
{
|
||||||
@@ -219,4 +233,7 @@ public class EditableSpotSceneImpl extends EditableSceneImpl
|
|||||||
|
|
||||||
/** Our display spot scene delegate. */
|
/** Our display spot scene delegate. */
|
||||||
protected DisplaySpotSceneImpl _delegate;
|
protected DisplaySpotSceneImpl _delegate;
|
||||||
|
|
||||||
|
/** A location id counter used for assigning ids to new locations. */
|
||||||
|
protected int _nextLocationId;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user