public void InitialiseWithLevelKey(string levelKey) { Reset(); levelConfig = LevelKeyHandler.ReadKey(levelKey); this.levelKey = LevelKeyHandler.GenerateKey(levelConfig); levelConfig.includedSkills.Add(Player.Skill.Jump); unusableChunks.AddRange(chunks); if (levelConfig.includeTutorialChunks) { // Only have jump tutorial as first chunk foreach (GameObject chunk in unusableChunks) { Chunk chunkDetails = chunk.GetComponent <Chunk>(); if (chunkDetails.tutorialChunk && chunkDetails.includedSkills.Count == 1 && chunkDetails.includedSkills.Contains(Player.Skill.Jump) && chunkDetails.version <= levelConfig.version) { usableChunks.Add(chunk); } } if (usableChunks.Count <= 0) { throw new Exception("No tutorial jump chunk provided"); } } else { // Go straight to getting all the chunks that we can use, since we don't need to teach the player to jump first UpdateUsableChunks(); } }
public void LoadLevelFromKey(string key) { LevelKeyHandler.LevelConfig loadedLevelConfig = LevelKeyHandler.ReadKey(key); if (loadedLevelConfig != null) { levelInputConfig = loadedLevelConfig; LevelInputConfigChanged(); Debug.Log("Level loaded from pasted key"); PopupTooltipManager.GetInstance().pasteLevelKeySuccessful.Activate(); } else { Debug.Log("Pasted level key is invalid, could not load level"); PopupTooltipManager.GetInstance().pasteLevelKeyFailed.Activate(); } }
public void TransitionToPlayState() { gameState = GameState.Play; ChunkSpawner.GetInstance().InitialiseWithLevelKey(LevelKeyHandler.GenerateKey(levelInputConfig)); Player.GetInstance().ResetHealth(); Player.GetInstance().ResetTooltips(); scoreManager.ResetScore(); scoreManager.StartCounting(); // make paper sheets fly in play direction var fol = paperSheets.forceOverLifetime; fol.xMultiplier = -ChunkSpawner.GetInstance().levelConfig.speed; // make foreground grass start moving parallaxBackground.backgroundSpeeds[11] = ChunkSpawner.GetInstance().levelConfig.speed / 15; gameMusicInstance.setParameterByID(isPlayStateParameterId, 1); }
private void Awake() { instance = this; levelInputConfig = LevelKeyHandler.ReadKey(LevelKeyHandler.DefaultKey()); }
public void UpdateLevelInputKey() { levelInputKeyText.text = LevelKeyHandler.GenerateKey(levelInputConfig); }