예제 #1
0
    Level CreateLevel(int index)
    {
        var entity = new GameObject($"Level-{index}");

        entity.transform.SetParent(transform);

        var level = entity.AddComponent <Level>()
                    .Init(
            LevelDef.CreateLevelDef(index, CoinDensity, Colors),
            BlockPrefab, ExitPrefab, CoinPrefab, GemPrefab, Seed, Colors
            );

        level.OnGroupDestroyed += blockCount => {
            PRNG.Shuffle(DigSounds, blockCount).ToList().ForEach(PlaySound);
            int sum = blockCount;
            for (int i = 0; i < blockCount; i++)
            {
                sum += i;
            }
            Purse.Increment(sum);
        };

        return(level);
    }