public ShipProfileItem(SpaceShipType type, bool selected = false) { _shipType = type; Selected = selected; int widthOverTwo = YnG.Width / 2; int heightOverTwo = YnG.Height / 2; _border = new YnSprite(new Rectangle( (int)SpaceGame.GetScaleX(450), (int)SpaceGame.GetScaleY(150), (int)SpaceGame.GetScaleX(650), (int)SpaceGame.GetScaleY(400)), Color.White); Add(_border); _container = new YnSprite(new Rectangle( (int)_border.X + BorderSize, (int)_border.Y + BorderSize, _border.Width - BorderSize * 2, _border.Height - BorderSize - 2), new Color(0, 108, 165)); Add(_container); _shipImage = new YnSprite(); spaceShipDescription = Registry.SpaceShipDescriptions[(int)_shipType]; }
public SoloPlayerState(SpaceShipType type, LevelType levelType) : base("solostate", true) { _levelType = levelType; if (_levelType == LevelType.Interior) { background = new InteriorBackground(); } else { background = new SpaceBackground(); } Add(background); // Les bonus sont en dessous de tout bonusGroup = new YnGroup(); Add(bonusGroup); // Joueur _player = new SpacePlayer(PlayerIndex.One, Registry.SpaceShipDescriptions[(int)type]); _player.Viewport = background.PlayableViewport; _player.Killed += new EventHandler <EventArgs>(_player_Killed); _player.PlayerReallyDead += new EventHandler <EventArgs>(_player_PlayerReallyDead); Add(_player); Registry.Players = new SpacePlayer[] { _player }; Registry.ScoreManager.CurrentGameScore = _player.GameScore; // Gestionnaire d'ennemies _ennemyManager = new EnnemyManager(); _ennemyManager.EnnemyDied += new EventHandler <EnnemyDeadEventArgs>(alienManager_EnnemyDied); Add(_ennemyManager); // Interface gameUI = new GameUI(Registry.Players); Add(gameUI); // Gestionnaire de message messageBoxManager = new MessageBoxManager(); Add(messageBoxManager); messageBoxManager.MessageBoxStart.CloseRequested += messageBoxStart_CloseRequested; messageBoxManager.MessageBoxPause.CloseRequested += messageBoxPause_CloseRequested; messageBoxManager.MessageBoxEnd.CloseRequested += messageBoxEnd_CloseRequested; // Timers _startGameTimer = new YnTimer(2500, 0); _startGameTimer.Completed += startGameTimer_Completed; _startGameTimer.Start(); _looseTimer = new YnTimer(5000, 0); _looseTimer.Completed += endTimer_Completed; // FX fxManager = new FxManager(); Add(fxManager); // audio Registry.AudioManager.VocalRate = 0; // Registry Registry.GameStatus = gameStatus; Registry.ActiveState = this; Registry.Ennemies = _ennemyManager; Registry.GameUI = gameUI; Registry.Background = background; Registry.FX = fxManager; ChangeGameStatus(GameStatus.Starting); }
private static SpaceShipDescription InitSpaceShipDescription(SpaceShipType type, int id) { SpaceShipDescription spaceShipDescription = new SpaceShipDescription(); spaceShipDescription.Id = id; spaceShipDescription.SpaceShitType = type; spaceShipDescription.Health = 100.0f; spaceShipDescription.Shield = 100.0f; switch (type) { case SpaceShipType.MercsA: spaceShipDescription.AssetName = "Ship/MercsA_64"; spaceShipDescription.Model = "Raptor d1"; spaceShipDescription.Category = "Mercenary"; spaceShipDescription.Weight = 2405; spaceShipDescription.ShipSpeed = new ShipSpeed(0.90f, 0.90f, 0.15f, 0.45f);; spaceShipDescription.Description = "It is a lightweight fighter, his only goal is destruction. \n"; spaceShipDescription.Description += "Mercenaries respect one thing: money. If you pay them well \n"; spaceShipDescription.Description += "so they will do a fantastic job, but otherwise .. they will turn against you!"; spaceShipDescription.PrimaryWeapons = "Three photon lasers"; spaceShipDescription.SecondaryWeapons = "Aggressor special missile"; spaceShipDescription.PrimaryWeaponId = 0; spaceShipDescription.SecondaryWeaponId = 3; break; case SpaceShipType.MercsB: spaceShipDescription.AssetName = "Ship/MercsB_64"; spaceShipDescription.Model = "Mantra N4"; spaceShipDescription.Category = "Mercenary"; spaceShipDescription.Weight = 2500; spaceShipDescription.ShipSpeed = new ShipSpeed(0.90f, 0.90f, 0.15f, 0.45f);; spaceShipDescription.Description = "A ship with an old alien technology.. Nobody knows exactly how the \n"; spaceShipDescription.Description += "ship works, but it is a formidable opponent in close combat"; spaceShipDescription.PrimaryWeapons = "Two tacticals lasers"; spaceShipDescription.SecondaryWeapons = "Unknow missile technologie"; spaceShipDescription.PrimaryWeaponId = 0; spaceShipDescription.SecondaryWeaponId = 3; break; case SpaceShipType.ShipA: spaceShipDescription.AssetName = "Ship/ShipA_64"; spaceShipDescription.Model = "ZThunder 4"; spaceShipDescription.Category = "Destroyer"; spaceShipDescription.Weight = 6750; spaceShipDescription.ShipSpeed = new ShipSpeed(0.90f, 0.90f, 0.15f, 0.45f);; spaceShipDescription.Description = "No description yet, but don't worry.. it's coming !"; spaceShipDescription.PrimaryWeapons = "Two tacticals lasers"; spaceShipDescription.SecondaryWeapons = "One missile launcher"; spaceShipDescription.PrimaryWeaponId = 1; spaceShipDescription.SecondaryWeaponId = 3; break; case SpaceShipType.ShipB: spaceShipDescription.AssetName = "Ship/ShipB_64"; spaceShipDescription.Model = "Pulsar X6"; spaceShipDescription.Category = "Interceptor"; spaceShipDescription.Weight = 5560; spaceShipDescription.ShipSpeed = new ShipSpeed(0.90f, 0.90f, 0.15f, 0.45f);; spaceShipDescription.Description = "No description yet too, I'm so sorry, but don't worry.. it's coming !"; spaceShipDescription.PrimaryWeapons = "Two tacticals lasers"; spaceShipDescription.SecondaryWeapons = "One missile launcher"; spaceShipDescription.Health = 100; spaceShipDescription.PrimaryWeaponId = 2; spaceShipDescription.SecondaryWeaponId = 3; break; } return(spaceShipDescription); }