Exemple #1
0
    public BlockWorld(int playerNum, World world)
    {
        ground = new bool[World.BlocksWidth, World.BlocksHeight];
        for (int i = 0; i < World.BlocksWidth; i++)
        {
            for (int j = 0; j < World.BlocksHeight; j++)
            {
                ground[i, j] = world.CheckGroundByIndex(i, j);
            }
        }

        justCollectedAmmo = false;

        // Turn player to BlockPlayer
        Player = new BlockPlayer(playerNum == 1 ? world.Player1 : world.Player2);

        // Turn powerups to BlockPowerups
        Powerups = new List <BlockPowerup>();
        for (int i = 0; i < world.NumPowerups; i++)
        {
            World.Powerup powerup = world.GetPowerup(i);

            // Conditionally exclude speed and gravity
            if (excludeSpeedGrav && powerup.Type == PowerupType.Gravity ||
                powerup.Type == PowerupType.Speed)
            {
                continue;
            }

            BlockPowerup blockPowerup = new BlockPowerup(powerup);
            blockPowerup.ProjectDownwards(this);
            Powerups.Add(blockPowerup);
        }
    }