public Ship(Screens.GameScreen gameScreen, Vector3 respawnPoint, Screens.GameplayScreen gpScreen, Player player)
            : base(gameScreen, 10f, 0d, 8d, respawnPoint)
        {
            // ship should know who owns it
            _owner = player;
            gameplayScreen = gpScreen;

            //The follow code is to test the weapons
            _frontWeapon = new TestGun(gameScreen, this);
            _rightWeapon = new RemoteMineLauncher(gameScreen, this);
            _leftWeapon = new TestGun(gameScreen, this);
            _backWeapon = new TestGun(gameScreen, this);
        }
        public void initilizeHUD(Screens.GameplayScreen screen)
        {
            _gameScreen = screen;

            if (PlayerOne != null)
            {
                _player1HUDAlive = new VisualObject2D();
                _player1HUDAlive.Texture = GameScreen.ScreenManager.Game.Content.Load<Texture2D>("Textures\\leftHUD_Alive");
                _player1HUDAlive.Position = new Vector2(10, 10);
                _player1HUDAlive.RotationAngle = 0;
                _player1HUDAlive.Origin = new Vector2(0,0);
                _player1HUDAlive.Scale = 1.0f;

                _player1HUDDead = new VisualObject2D();
                _player1HUDDead.Texture = GameScreen.ScreenManager.Game.Content.Load<Texture2D>("Textures\\leftHUD_Dead");
                _player1HUDDead.Position = new Vector2(10, 10);
                _player1HUDDead.RotationAngle = 0;
                _player1HUDDead.Origin = new Vector2(0, 0);
                _player1HUDDead.Scale = 1.0f;
            }

            if (PlayerTwo != null)
            {
                _player2HUDAlive = new VisualObject2D();
                _player2HUDAlive.Texture = GameScreen.ScreenManager.Game.Content.Load<Texture2D>("Textures\\rightHUD_Alive");
                _player2HUDAlive.Position = new Vector2(GameScreen.ScreenDimensions.X-135, 10);
                _player2HUDAlive.RotationAngle = 0;
                _player2HUDAlive.Origin = new Vector2(0, 0);
                _player2HUDAlive.Scale = 1.0f;

                _player2HUDDead = new VisualObject2D();
                _player2HUDDead.Texture = GameScreen.ScreenManager.Game.Content.Load<Texture2D>("Textures\\rightHUD_Dead");
                _player2HUDDead.Position = new Vector2(GameScreen.ScreenDimensions.X - 135, 10);
                _player2HUDDead.RotationAngle = 0;
                _player2HUDDead.Origin = new Vector2(0, 0);
                _player2HUDDead.Scale = 1.0f;
            }

            if (PlayerThree != null)
            {
                _player3HUDAlive = new VisualObject2D();
                _player3HUDAlive.Texture = GameScreen.ScreenManager.Game.Content.Load<Texture2D>("Textures\\leftHUD_Alive");
                _player3HUDAlive.Position = new Vector2(10, GameScreen.ScreenDimensions.Y - 60);
                _player3HUDAlive.RotationAngle = 0;
                _player3HUDAlive.Origin = new Vector2(0, 0);
                _player3HUDAlive.Scale = 1.0f;

                _player3HUDDead = new VisualObject2D();
                _player3HUDDead.Texture = GameScreen.ScreenManager.Game.Content.Load<Texture2D>("Textures\\leftHUD_Dead");
                _player3HUDDead.Position = new Vector2(10, GameScreen.ScreenDimensions.Y - 60);
                _player3HUDDead.RotationAngle = 0;
                _player3HUDDead.Origin = new Vector2(0, 0);
                _player3HUDDead.Scale = 1.0f;
            }

            if (PlayerFour != null)
            {
                _player4HUDAlive = new VisualObject2D();
                _player4HUDAlive.Texture = GameScreen.ScreenManager.Game.Content.Load<Texture2D>("Textures\\rightHUD_Alive");
                _player4HUDAlive.Position = new Vector2(GameScreen.ScreenDimensions.X - 135, GameScreen.ScreenDimensions.Y - 60);
                _player4HUDAlive.RotationAngle = 0;
                _player4HUDAlive.Origin = new Vector2(0, 0);
                _player4HUDAlive.Scale = 1.0f;

                _player4HUDDead = new VisualObject2D();
                _player4HUDDead.Texture = GameScreen.ScreenManager.Game.Content.Load<Texture2D>("Textures\\rightHUD_Dead");
                _player4HUDDead.Position = new Vector2(GameScreen.ScreenDimensions.X - 135, GameScreen.ScreenDimensions.Y - 60);
                _player4HUDDead.RotationAngle = 0;
                _player4HUDDead.Origin = new Vector2(0, 0);
                _player4HUDDead.Scale = 1.0f;
            }
        }
 public TestGun(GameplayScreen gameplayScreen, Ship owner)
     : base(gameplayScreen, owner)
 {
 }
        private void old_LoadContent(GameplayScreen screen)
        {
            Pieces = new List<VisualObject3D>();

            BackgroundResourceName = "Textures\\Space_BackGround";
            BackgroundTexture = GameScreen.ScreenManager.Game.Content.Load<Texture2D>(BackgroundResourceName);
            string modelResourceName = "Models\\asteroid1";
            Model AsteroidModel = GameScreen.ScreenManager.Game.Content.Load<Model>(modelResourceName);
            Random Rand = new Random();

            //create 10 asteroids with some random stats.
            int numOfAsteroids = 10;
            for (int i = 0; i < numOfAsteroids; i++)
            {
                Asteroid newAsteroid = new Asteroid(GameScreen)
                {
                    ObjectModel = AsteroidModel,
                    ModelResourceName = modelResourceName,
                    BSphere = AsteroidModel.Meshes[0].BoundingSphere,
                    ReferenceCamera = screen.Camera1,
                    Velocity = (new Vector2(Rand.nextSignedFloat(), Rand.nextSignedFloat())).getDirectedVector(0.3f),
                    RotationVelocity = Rand.nextVector3Interval(new Vector3(-0.1f, -0.1f, -0.1f), new Vector3(0.1f, 0.1f, 0.1f))
                };
                Pieces.Add(newAsteroid);
            }
        }
 public AttachedWeapon(GameplayScreen gameplayScreen, Ship owner)
     : base(gameplayScreen, 1f, 0d)
 {
     this._owner = owner;
 }