/// <summary> /// Choose a random powerup. /// </summary> /// <returns>A random powerup</returns> public static PowerUp ChooseRandomPowerUp(int width, int height, Data.Setup s) { PowerUp powerUp; Random random = new Random(); double x = random.Next(width / 4, width / 4 * 3); double y = random.Next(height / 5, height / 5 * 4); switch (random.Next(5)) { case 0: powerUp = new HealthPowerUp(x, y, 40, s.HealingShield); break; case 1: powerUp = new SpeedPowerUp(x, y, 40, s.SpeedBallPercent); break; case 2: powerUp = new ReversePowerUp(x, y, 40, s.ReverseTime); break; case 3: powerUp = new MultiBallPowerUp(x, y, 40); break; default: powerUp = new BombPowerUp(x, y, 40, s.DamageBomb); break; } return(powerUp); }
private void Awake() { m_Instance = this; float x = (-Screen.width + TILE_SIZE) / PIXEL_PER_UNIT / 2.0f; float y = (Screen.height - TILE_SIZE) / PIXEL_PER_UNIT / 2.0f; Vector2 initialPos = new Vector2(x, y); // These are for positions in scene at Awake Vector2 offset = new Vector2(TILE_SIZE / PIXEL_PER_UNIT, -TILE_SIZE / PIXEL_PER_UNIT); Vector2 spawnPos = initialPos + offset; Vector2 EnemySpawnPos = initialPos + offset * 9; Vector2 Power1Pos = initialPos + offset * 3; Vector2 SpeedPowerPos = initialPos + offset * 5; // Instantiating objects in GamePlay Scene PlayerMovement player = Instantiate(m_PlayerPrefab, spawnPos, Quaternion.identity); player.Setup(1, 1); EnemyMovement enemy = Instantiate(m_EnemyPrefab, EnemySpawnPos, Quaternion.identity); enemy.Setup(9, 9); BombPowerUp1 bombPowerup1 = Instantiate(m_BombPowerup1, Power1Pos, Quaternion.identity); bombPowerup1.Setup(3, 3); SpeedPowerUp speedPowerUp = Instantiate(m_SpeedPowerUp, SpeedPowerPos, Quaternion.identity); speedPowerUp.Setup(5, 5); for (int i = 0; i < m_LevelData.GetWidth(); ++i) { m_TileObjects.Add(new List <GameObject>()); for (int j = 0; j < m_LevelData.GetHeight(); ++j) { offset = new Vector2(TILE_SIZE * i / PIXEL_PER_UNIT, -TILE_SIZE * j / PIXEL_PER_UNIT); spawnPos = initialPos + offset; m_TileObjects[i].Add(CreateTile(m_LevelData.Tiles[i][j], spawnPos)); } } for (int i = 0; i < m_LevelData.Tiles.Length; i++) { m_LevelData.Tiles[i].SetCopy(); } }
private void ResetGame() { paddlePlayer = new PlayerPaddle(40, (int)(SceneManager.WindowHeight * 0.5), 0, 43, 255); paddlePlayer.Init(false); paddlePlayer2 = new Player2Paddle(SceneManager.WindowWidth - 40, (int)(SceneManager.WindowHeight * 0.5), 255, 0, 0); paddlePlayer2.Init(false); ball = new Ball((int)(SceneManager.WindowWidth * 0.5), (int)(SceneManager.WindowHeight * 0.5)); ball.Init(); speedPowerUp = new SpeedPowerUp(-180, -180, 255, 255, 0); speedPowerUp.Init(); lengthPowerUp = new LengthPowerUp(-180, -180, 0, 255, 0); lengthPowerUp.Init(); powerUpSpawned = false; player1SpeedEnabled = false; player2SpeedEnabled = false; player1LengthEnabled = false; player2LengthEnabled = false; }