示例#1
0
    // public void OnPointerClick(PointerEventData data) {
    //     if (!LevelTitle.enabled) return;

    //     LevelTitle.GetComponent<Overlay>().Hide();
    //     NextLevel();
    // }

    void NextLevel()
    {
        GetComponent <PlayerMovementSystem>().enabled = true;

        CurrentLevel = CreateLevel(CurrentLevelIndex);

        var playerInitialX = PRNG.Int(CurrentLevel.Def.Width);

        Player = CreatePlayer(new Cell(playerInitialX, 0));
        CurrentLevel.AddBlockUnderPlayer(playerInitialX);

        var picker = Player.GetComponent <Picker>();

        picker.OnTouchedPickable += PickItem;

        GetComponent <PlayerMovementSystem>().Init(CurrentLevel, Player, SpendEnergy);
        GetComponent <PlayerGravitySystem>().Init(CurrentLevel, Player, () => {
            PlaySound(LandSound);
        });
        GetComponent <PickerSystem>().Init(CurrentLevel, picker);
        GetComponent <ExitSystem>().Init(CurrentLevel, Player, () => {
            PlaySound(ExitSound);
            EnergyBar.Increment(EnergyRefillBetweenLevels);
            PreNextLevel();
        });

        SetupCamera(Player.transform, CurrentLevel);
        CurrentLevelIndex++;
    }
示例#2
0
文件: Level.cs 项目: damrem/ld48
    void AddGemRandomlyInRows()
    {
        Gems = new Gem[Def.Width, Def.Depth + 2];

        int spacing = Def.Index * 2;

        for (int y = 0; y <= Gems.GetLength(1); y += spacing)
        {
            spacing++;
            var x = PRNG.Int(Def.Width);
            Gems[x, y] = CreateGem(x, y);
        }

        Gems.ForEach(item => {
            if (!item)
            {
                return;
            }
            DestroyBlock(item.Cell, false);
        });
    }