// 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++; }
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); }); }