예제 #1
0
    private Spawns[,] GetSpawns(int gridsX, int gridsZ)
    {
        Spawns[,] gridSpawnArray = new Spawns[gridsZ, gridsX];

        bool magnetSpawned = false;

        for (int z = 0; z < gridSpawnArray.GetLength(0); z++)
        {
            int    chance = Random.Range(0, totalChance);
            Spawns spawn  = GetSpawnByChance(chance);

            for (int x = 0; x < gridSpawnArray.GetLength(1); x++)
            {
                if (coinSpawnType == CoinSpawn.Line && spawn == Spawns.Coin)
                {
                    gridSpawnArray[z, x] = spawn;
                }
                else if (coinSpawnType != CoinSpawn.Line && x > 0)
                {
                    chance = Random.Range(0, totalChance);
                    spawn  = GetSpawnByChance(chance);
                    if (spawn == Spawns.Magnet)
                    {
                        if (magnetSpawned)
                        {
                            spawn = Spawns.None;
                        }
                        else
                        {
                            magnetSpawned = true;
                        }
                    }
                    gridSpawnArray[z, x] = spawn;
                }
                else if (spawn == Spawns.Magnet)
                {
                    if (magnetSpawned)
                    {
                        spawn = Spawns.None;
                    }
                    else
                    {
                        gridSpawnArray[z, x] = spawn;
                        magnetSpawned        = true;
                    }
                }
            }
        }

        return(gridSpawnArray);
    }