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); } }
private void initOptions(List <string> i_Options) { float x = this.Text.Width + this.Text.Position.X + 20; Text optionText = null; for (int i = 0; i < 2; i++) { optionText = SpritesFactory.CreateSprite(m_GameScreen, m_TextSpriteType) as Text; optionText.TextString = i_Options[i]; optionText.Position = new Vector2(x, this.Position.Y); m_Options.Add(optionText); x = optionText.Width + optionText.Position.X + 30; if (i_Options[i].Equals(m_SelectedOption)) { m_SelectedOptionIndex = i; } } m_Separator = SpritesFactory.CreateSprite(m_GameScreen, m_TextSpriteType) as Text; x = optionText.Position.X - 15; m_Separator.TextString = "/"; m_Separator.Position = new Vector2(x, this.Position.Y); optionText.Position = new Vector2(m_Separator.Position.X + m_Separator.Width + 15, this.Position.Y); m_Options[0].RightMouseClick += ToggleLeft; m_Options[1].RightMouseClick += ToggleRight; }
protected virtual Bullet getAndShootBullet(Color i_BulletColor, float i_BulletVelocity) { Bullet bullet = null; bullet = SpritesFactory.CreateSprite(this.GameScreen, SpritesFactory.eSpriteType.Bullet) as Bullet; bullet.Initialize(); bullet.TintColor = i_BulletColor; bullet.GunSerialNumber = m_SerialNumber; bullet.ShootingSpriteType = this.GetType(); bullet.Velocity = new Vector2(0, i_BulletVelocity); return(bullet); }
public override void Initialize() { m_Mouse = SpritesFactory.CreateSprite(this, SpritesFactory.eSpriteType.Mouse) as MouseSprite; m_TitleText = SpritesFactory.CreateSprite(this, SpritesFactory.eSpriteType.BigText) as Text; m_TitleText.TextString = m_MenuTitle; m_TitleText.Position = new Vector2(0, 20); TextServices.CenterTextsOnScreen(this, new List <Text>() { m_TitleText }); InitMenuItems(); base.Initialize(); }
protected override void initTexts() { Text titleText = SpritesFactory.CreateSprite(this, SpritesFactory.eSpriteType.BigText) as Text; titleText.Position = new Vector2(0, 50); titleText.TintColor = m_TitleColor; titleText.TextString = m_Title; m_InstructionsText = TextServices.GetAndCreateTexts(this, m_Instructions, SpritesFactory.eSpriteType.MediumText, titleText.Position.X, titleText.Position.Y + 100f); TextServices.CenterTextsOnScreen(this, m_InstructionsText); TextServices.CenterTextsOnScreen(this, new List <Text>() { titleText }); }
protected override void initTexts() { base.initTexts(); Vector2 scorePosition = new Vector2(30, m_InstructionsText[m_InstructionsText.Count - 1].Position.Y + (m_InstructionsText[m_InstructionsText.Count - 1].Height * 1.5f)); Text playerScoreText; foreach (string playerScore in m_PlayersScore) { playerScoreText = SpritesFactory.CreateSprite(this, SpritesFactory.eSpriteType.BigText) as Text; playerScoreText.TintColor = Color.Red; playerScoreText.Position = scorePosition; playerScoreText.TextString = playerScore; scorePosition = new Vector2(scorePosition.X, scorePosition.Y + (playerScoreText.Height * 1.3f)); } }
public PauseScreen(Game i_Game) : base(i_Game) { m_MessageSprite = SpritesFactory.CreateSprite(this, SpritesFactory.eSpriteType.MediumText) as Text; m_MessageSprite.Position = new Vector2(180, 230); (m_MessageSprite as Text).TextString = "Click R to continue playing"; TextServices.CenterTextsOnScreen(this, new List <Text>() { (m_MessageSprite as Text) }); this.IsModal = true; this.IsOverlayed = true; this.UseGradientBackground = true; this.BlackTintAlpha = 0.4f; }
public override void Initialize() { initilizeOnFirstRun(); SpritesFactory.CreateSprite(this, SpritesFactory.eSpriteType.MotherShip); SpritesFactory.CreateSprite(this, SpritesFactory.eSpriteType.SpaceBackground); EnemiesMatrix enemiesMatrix = new EnemiesMatrix(this); BarrierGroup barrierGroup = new BarrierGroup(this); m_MultiPlayerConfiguration = SpaceInvadersServices.GetMultiPlayerConfiguration(this.Game); m_MultiPlayerConfiguration.CreatePlayers(this); m_WonLevelSound = SoundFactory.CreateSound(this, SoundFactory.eSoundType.LevelWin); m_GameOverSound = SoundFactory.CreateSound(this, SoundFactory.eSoundType.GameOver); this.Add(enemiesMatrix); this.Add(barrierGroup); base.Initialize(); SpaceInvadersServices.ChangeBarriersGroupVerticalPosition(this, barrierGroup); }
public GameMenuItem(string i_ItemName, GameScreen i_GameScreen, Color i_Color, eFontSize i_FontSize = eFontSize.Big, params MethodKey[] i_Methods) : base(i_ItemName, i_Methods) { switch (i_FontSize) { case eFontSize.Medium: m_TextSpriteType = SpritesFactory.eSpriteType.MediumText; break; case eFontSize.Small: m_TextSpriteType = SpritesFactory.eSpriteType.SmallText; break; } m_Text = SpritesFactory.CreateSprite(i_GameScreen, m_TextSpriteType) as Text; m_Text.TextString = i_ItemName; m_Text.TintColor = r_OriginalColor = i_Color; m_GameScreen = i_GameScreen; m_MoveBetweenItemsSound = SoundFactory.CreateSound(this.m_GameScreen, SoundFactory.eSoundType.MenuMove); }
protected override void initTexts() { base.initTexts(); Text headText = SpritesFactory.CreateSprite(this, SpritesFactory.eSpriteType.BigText) as Text; headText.Position = new Vector2(250, 200); headText.TintColor = Color.Lime; headText.TextString = "Starting level " + m_CurrentLevel; TextServices.CenterTextsOnScreen(this, new List <Text>() { headText }); m_CountingText = SpritesFactory.CreateSprite(this, SpritesFactory.eSpriteType.BigText) as Text; m_CountingText.Position = new Vector2(350, 300); m_CountingText.TintColor = Color.White; m_CountingText.TextString = m_CurrentCountingNum.ToString(); TextServices.CenterTextsOnScreen(this, new List <Text>() { m_CountingText }); }
private void createBarrierGroup(int i_NumOfBarriers) { Barrier barrier = null; Vector2 position = new Vector2(0, 0); float groupWidth = 0; m_Barriers.Clear(); for (int i = 0; i < i_NumOfBarriers; i++) { barrier = SpritesFactory.CreateSprite(m_GameScreen, SpritesFactory.eSpriteType.Barrier) as Barrier; if (m_FirstRun) { m_OriginalPixels = barrier.Pixels.Clone() as Color[]; m_FirstRun = false; } else if (i == 0) { barrier.Pixels = m_OriginalPixels.Clone() as Color[]; } barrier.Position = position; position = new Vector2(position.X + (barrier.Width * 2), position.Y); barrier.TouchScreenLimit += changeMovingDirection; if (i > 0) { barrier.Texture = new Microsoft.Xna.Framework.Graphics.Texture2D(barrier.GraphicsDevice, (int)barrier.Width, (int)barrier.Height); barrier.Pixels = m_OriginalPixels.Clone() as Color[]; } m_Barriers.Add(barrier); } groupWidth = barrier.Position.X + barrier.Width; float x = (float)this.Game.GraphicsDevice.Viewport.Width / 2; x -= groupWidth / 2; centerGroupOnScreen(new Vector2(x, 0)); }
public override void Initialize() { SpritesFactory.CreateSprite(this, SpritesFactory.eSpriteType.SpaceBackground); base.Initialize(); }
public MouseSprite(GameScreen i_GameScreen, string i_AssetName) : base(i_AssetName, i_GameScreen) { m_Tooltip = SpritesFactory.CreateSprite(this.GameScreen, SpritesFactory.eSpriteType.SmallText) as Text; }
private void addEnemiesColumn(int i_NumOfPinkEnemies, int i_NumOfLightBlueEnemies, int i_NumOfYellowEnemies) { Enemy enemy = null; Enemy enemyLastAdded = null; SpritesFactory.eSpriteType enemyTypeToCreate = SpritesFactory.eSpriteType.EnemyPink; Vector2 position = new Vector2(0, 0); int sumOfEnemysInOneColumn = i_NumOfPinkEnemies + i_NumOfLightBlueEnemies + i_NumOfYellowEnemies; List <Enemy> currentEnemiesOnMatrix = GetEnemysAsList(); if (currentEnemiesOnMatrix.Count > 0) { Enemy enemyFromLastLine = currentEnemiesOnMatrix.Last(); position = enemyFromLastLine.Position; position.X += (float)((enemyFromLastLine.Width * 0.6) + enemyFromLastLine.Width); } for (int i = 0; i < sumOfEnemysInOneColumn; i++) { if (i > r_EnemiesMatrix.Count - 1) { this.r_EnemiesMatrix.Add(new List <Enemy>()); } enemyTypeToCreate = (i_NumOfPinkEnemies > 0) ? SpritesFactory.eSpriteType.EnemyPink : (i_NumOfLightBlueEnemies > 0 ? SpritesFactory.eSpriteType.EnemyLightBlue : SpritesFactory.eSpriteType.EnemyYellow); enemy = SpritesFactory.CreateSprite(m_GameScreen, enemyTypeToCreate) as Enemy; switch (enemyTypeToCreate) { case SpritesFactory.eSpriteType.EnemyPink: i_NumOfPinkEnemies--; position.Y = 3 * enemy.Width; enemy.Points = m_PinkPoints; break; case SpritesFactory.eSpriteType.EnemyLightBlue: i_NumOfLightBlueEnemies--; enemy.Points = m_LightBluePoints; break; case SpritesFactory.eSpriteType.EnemyYellow: i_NumOfYellowEnemies--; enemy.Points = m_YellowEnemyPoints; break; } if (enemyLastAdded != null) { if (enemy.TextureStartIndex == enemyLastAdded.TextureStartIndex && enemy.TextureEndIndex == enemyLastAdded.TextureEndIndex) { enemy.ChangeEnemyShape(); } } enemy.Position = new Vector2(position.X, position.Y); enemy.TouchedEndOfTheScreen += enemy_TouchedEndOfTheScreen; r_EnemiesMatrix[i].Add(enemy); position = new Vector2(position.X, (float)(position.Y + ((enemy.Height * 0.6) + enemy.Width))); enemyLastAdded = enemy; } }