public PlayerSpaceInvaders(GameScreen i_GameScreen, string i_PlayerNickname, eSpaceShipType i_SpaceShipType) : base(i_GameScreen.Game, i_PlayerNickname) { m_LoseLifeSound = SoundFactory.CreateSound(this.Game, SoundFactory.eSoundType.LifeDie) as Sound; m_Nickname = i_PlayerNickname; m_SpaceShipType = i_SpaceShipType; m_ScoreText = SpritesFactory.CreateSprite(i_GameScreen, SpritesFactory.eSpriteType.SmallText) as Text; SpritesFactory.eSpriteType lifeType = SpritesFactory.eSpriteType.LifeBlueSpaceShip; switch (m_SpaceShipType) { case eSpaceShipType.Blue: m_SpaceShip = SpritesFactory.CreateSprite(i_GameScreen, SpritesFactory.eSpriteType.BlueSpaceShip) as SpaceShip; m_ScoreText.TintColor = Color.Blue; lifeType = SpritesFactory.eSpriteType.LifeBlueSpaceShip; break; case eSpaceShipType.Green: m_SpaceShip = SpritesFactory.CreateSprite(i_GameScreen, SpritesFactory.eSpriteType.GreenSpaceShip) as SpaceShip; m_ScoreText.TintColor = Color.Green; lifeType = SpritesFactory.eSpriteType.LifeGreenSpaceShip; break; } for (int i = 0; i < this.Lifes; i++) { Life life = SpritesFactory.CreateSprite(i_GameScreen, lifeType) as Life; life.Initialize(); this.LifesSprites.Add(life); } }
public static Sprite CreateSprite(GameScreen i_GameScreen, eSpriteType i_SpriteType) { Sprite sprite = null; switch (i_SpriteType) { case eSpriteType.Bullet: sprite = new Bullet(i_GameScreen, k_BulletAsset); break; case eSpriteType.EnemyLightBlue: sprite = new Enemy(i_GameScreen, Color.LightBlue, 2, 4, k_EnemysAsset); break; case eSpriteType.EnemyPink: sprite = new Enemy(i_GameScreen, Color.Pink, 0, 2, k_EnemysAsset); break; case eSpriteType.EnemyYellow: sprite = new Enemy(i_GameScreen, Color.Yellow, 4, 6, k_EnemysAsset); break; case eSpriteType.MotherShip: sprite = new MotherShip(i_GameScreen, k_MotherSpaceShipAsset); break; case eSpriteType.SpaceBackground: sprite = new SpaceBackground(i_GameScreen, k_SpaceBGAsset); break; case eSpriteType.BlueSpaceShip: sprite = new SpaceShip(i_GameScreen, k_BlueSpaceShipAsset); break; case eSpriteType.GreenSpaceShip: sprite = new SpaceShip(i_GameScreen, k_GreenSpaceShipAsset); break; case eSpriteType.Barrier: sprite = new Barrier(i_GameScreen, k_BarrierAsset); break; case eSpriteType.SmallText: sprite = new Text(i_GameScreen, k_CalibriSmallFontAsset); break; case eSpriteType.MediumText: sprite = new Text(i_GameScreen, k_CalibriMediumFontAsset); break; case eSpriteType.BigText: sprite = new Text(i_GameScreen, k_CalibriBigFontAsset); break; case eSpriteType.LifeBlueSpaceShip: sprite = new Life(i_GameScreen, k_BlueSpaceShipAsset); break; case eSpriteType.LifeGreenSpaceShip: sprite = new Life(i_GameScreen, k_GreenSpaceShipAsset); break; case eSpriteType.Mouse: sprite = new MouseSprite(i_GameScreen, k_MouseAsset); break; } sprite.Initialize(); i_GameScreen.Add(sprite); return sprite; }