/**
  Space by A.H. Schulak (Shoe) October 1996
  Space by A.H. Schulak (Shoe) March 1998
**/

package Space;

public class Simulation extends GP.Containers.Row {
  private Starfield _space;
  private GP.Components.ColorChooser _colorChooser;

  private MouseController _mouseController;
  private KeyController _keyController;
  
  private InputChooser _inputChooser;
  private ShipChooser _shipChooser;
  private ShipProxy _ship;

  public Simulation(GP.Container container) {
    super(container);

    GP.Containers.Column shipChooserCol = new GP.Containers.Column(this);
    GP.Containers.Column starMouseCol = new GP.Containers.Column(this);    
    GP.Containers.Column colorInputCol = new GP.Containers.Column(this);

    _space = new Starfield(starMouseCol);
    
    _ship = new ShipProxy();

     new GP.Graphics.Text(shipChooserCol,"Ship Chooser");
    _shipChooser = new ShipChooser(shipChooserCol,_space,_ship);
    _colorChooser = new GP.Components.ColorChooser(colorInputCol);
    _ship.SetColor(new GP.Attributes.Colors.Chooser(_colorChooser));

    _keyController = new KeyController(this,_ship);
    _mouseController = new MouseController(starMouseCol,_ship);

    new GP.Graphics.Text(colorInputCol,"Input Chooser");
    _inputChooser = new InputChooser(colorInputCol,_ship, _mouseController,
				     _keyController);
    
  }

}
