 
         // sanity check the server's notion of what scene we're in with our notion of it
         var sceneId :int = _scdir.getScene().getId();
-        var sbobj :ScenedBodyObject = (_wctx.getClient().getClientObject() as ScenedBodyObject);
-        if (sceneId != sbobj.getSceneId()) {
+        if (sceneId != _self.getSceneId()) {
             log.warning("Client and server differ in opinion of what scene we're in " +
-                        "[sSceneId=" + sbobj.getSceneId() + ", cSceneId=" + sceneId + "].");
+                        "[sSceneId=" + _self.getSceneId() + ", cSceneId=" + sceneId + "].");
             return false;
         }
 

        _scdir = scdir;

        // wire ourselves up to hear about leave place notifications
        locdir.addLocationObserver(new LocationAdapter(null, function (place :PlaceObject) :void {
            handleDeparture();
        }));
    }

    /**

import com.threerings.crowd.chat.data.ChatCodes;
import com.threerings.crowd.client.LocationAdapter;
import com.threerings.crowd.client.LocationDirector;
import com.threerings.crowd.data.BodyObject;
import com.threerings.crowd.data.PlaceObject;

import com.threerings.whirled.client.SceneDirector;
import com.threerings.whirled.data.SceneModel;
import com.threerings.whirled.util.WhirledContext;

import com.threerings.whirled.spot.data.ClusteredBodyObject;
import com.threerings.whirled.spot.data.Location;
import com.threerings.whirled.spot.data.Portal;
import com.threerings.whirled.spot.data.SceneLocation;
import com.threerings.whirled.spot.data.SpotCodes;
import com.threerings.whirled.spot.data.SpotScene;
import com.threerings.whirled.spot.data.SpotSceneObject;

/**
 * Extends the standard scene director with facilities to move between locations within a scene.
