public static void CreateNewPlayers(GameScreen i_GameScreen, params ConfSpaceShip[] i_ConfSpaceShips) { PlayerSpaceInvaders player = null, beforePlayer = null; float xSpaceShip, yLifes = 0, xLifes = (float)i_GameScreen.Game.GraphicsDevice.Viewport.Width - 20; for (int i = 0; i < i_ConfSpaceShips.Length; i++) { string nickname = "P" + (i + 1).ToString(); player = new PlayerSpaceInvaders(i_GameScreen, nickname, i_ConfSpaceShips[i].SpaceShipType); foreach (Life life in player.LifesSprites) { life.Position = new Vector2(xLifes, yLifes); xLifes -= 20; } yLifes += 20; xLifes = (float)i_GameScreen.Game.GraphicsDevice.Viewport.Width - 20; player.SpaceShip.Configuration = i_ConfSpaceShips[i]; if (beforePlayer != null) { xSpaceShip = beforePlayer.SpaceShip.Position.X + beforePlayer.SpaceShip.Width + (beforePlayer.SpaceShip.Width / 2); player.SpaceShip.Position = new Vector2(xSpaceShip, 0); player.ScoreMessage.Position = new Vector2(beforePlayer.ScoreMessage.Position.X, beforePlayer.ScoreMessage.Position.Y + 20); } beforePlayer = player; i_GameScreen.Game.Components.Add(player); player.ScoreMessage.TextString = string.Format("{0} Score: {1}", player.Nickname, player.Score); } }
void Awake() { player_invader = this; mouse_click_input = this.GetComponentInChildren <QueueMouseClicks>(); sprite = this.GetComponentInChildren <SpriteRenderer>(); hit_noise = this.GetComponent <AudioSource>(); }
private static PlayerSpaceInvaders getWinningPlayer(Game i_Game) { int maxScore = -1; PlayerSpaceInvaders winningPlayer = null; List <PlayerSpaceInvaders> allPlayers = getAllPlayers(i_Game); foreach (PlayerSpaceInvaders player in allPlayers) { if (player.Score > maxScore) { maxScore = player.Score; winningPlayer = player; } } return(winningPlayer); }
public static PlayerSpaceInvaders GetPlayerComponent(Game i_Game, string i_GunSerialNumber) { PlayerSpaceInvaders player = null; foreach (GameComponent component in i_Game.Components) { player = component as PlayerSpaceInvaders; if (player != null) { if (player.SpaceShip.SerialNumber.Equals(i_GunSerialNumber)) { break; } } } return(player); }
public static bool IsAllPlayersLost(Game i_Game) { bool isAllPlayersLost = true; foreach (GameComponent component in i_Game.Components) { PlayerSpaceInvaders player = component as PlayerSpaceInvaders; if (player != null) { if (player.Lifes > 0) { isAllPlayersLost = false; break; } } } return(isAllPlayersLost); }
public static void GameOver(Game i_Game) { PlayerSpaceInvaders winningPlayer = getWinningPlayer(i_Game); List <PlayerSpaceInvaders> otherPlayers = getAllPlayers(i_Game, winningPlayer); List <string> playerScores = new List <string>(); string line = string.Format("{0} Won! {0} score is: {1}", winningPlayer.Nickname, winningPlayer.Score); playerScores.Add(line); foreach (PlayerSpaceInvaders player in otherPlayers) { if (winningPlayer.Nickname != player.Nickname) { line = string.Format("{0} Lost! {0} score is: {1}", player.Nickname, player.Score); playerScores.Add(line); } } GetScreensManagerComponent(i_Game).SetCurrentScreen(new GameOverScreen(i_Game, playerScores)); }