public void setScene(Scene paramScene)
  {
    unregisterAll();

    if (this.shroud != null) {
      this.shroud.removeShroudListener(this);
    }
    this.Surface.unregisterAll();
    this.Layers.clear();
    this.CurrentScene = paramScene;

    this.map = paramScene.getMap();

    this.MapSize = this.map.getSize();

    ClickDelegator localClickDelegator = new ClickDelegator(this, this.State.getCurrentScene());
    localClickDelegator.setBounds(0, 0, 480, 360);
    add(localClickDelegator);

    this.shroud = this.State.getCurrentScene().getShroud();
    this.shroud.setSize(new Dimension(480, 360));
    this.shroud.setLocation(0, 0);
    this.shroud.addShroudListener(this);
    register(this.shroud);

    Enumeration localEnumeration1 = paramScene.getLayers().elements();
    while (localEnumeration1.hasMoreElements()) {
      addLayer((String)localEnumeration1.nextElement());
    }

    this.ObjectList = this.State.getCurrentScene().getObjects();
    Enumeration localEnumeration2 = this.ObjectList.elements();
    while (localEnumeration2.hasMoreElements())
    {
      PhysicalObject localPhysicalObject = (PhysicalObject)localEnumeration2.nextElement();
      addObject(localPhysicalObject);
    }

    this.ground = new GroundComponent();
    this.ground.setBounds(getBounds());
    this.Surface.register(this.ground);

    register(this.Surface);
  }