示例#1
0
        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];
        }
示例#2
0
        // TODO ajouter un PlayerBundle ou un PlayerInfo ou un truc dans ce genre
        public SpacePlayer(PlayerIndex playerIndex, SpaceShipDescription description)
            : base()
        {
            AssetName = description.AssetName;

            _playerIndex = playerIndex;

            _shipSpeed = description.ShipSpeed;

            _playerProfile = new PlayerProfile(String.Format("Player {0}", ((int)playerIndex) + 1), (int)playerIndex);

            _firstWeaponType  = (WeaponType)description.PrimaryWeaponId;
            _secondWeaponType = (WeaponType)description.SecondaryWeaponId;

            _bonusLevel = BonusLevel.None;

            VelocityMax       = 0.95f;
            ForceInsideScreen = true;

            _live = 3;

            // TODO : case
            _shields = new YnSprite("Ship/Shield/Shields");

            _weaponManager              = new WeaponManager(this);
            _weaponManager.Initialized  = true;
            _weaponManager.AssetsLoaded = true;

            LayerDepth = 0.4f;

            _playerTouchedTimer            = new YnTimer(1500, 0);
            _playerTouchedTimer.Completed += _playerTouchedTimer_Completed;

#if COMPLETE
            kinect = KinectSensorController.Instance;

            if (_playerIndex == PlayerIndex.One)
            {
                _kinectPlayerIndex = KinectPlayerIndex.One;
            }

            else if (_playerIndex == PlayerIndex.Two)
            {
                _kinectPlayerIndex = KinectPlayerIndex.Two;
            }
#endif

            LoadContent();
        }
示例#3
0
        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);
        }