private void SaveCompletedLevel() { var newPuzzleClass = new PuzzleSaveClass() { CategoryName = CurrentPuzzleCategory, PuzzleName = CurrentPuzzleName, TimeSpent = timerRef.GetComponent <TimeUpdaterScript>().GetTime(), TurnCount = actionController.GetComponent <ActionControllerScript>().GetActionCount() }; PuzzlePersistence.Save(newPuzzleClass); }
private void SetupWinDialog() { winDialogCurrentTime.text = TimeConverter.ConvertSecondsToTimeString(timerRef.GetComponent <TimeUpdaterScript>().GetTime()); winDialogCurrentMoves.text = actionController.GetComponent <ActionControllerScript>().GetActionCount().ToString(); var bestRun = PuzzlePersistence.GetBestPuzzle(CurrentPuzzleCategory, CurrentPuzzleName); if (bestRun != null) { winDialogBestMoves.text = bestRun.TurnCount.ToString(); winDialogBestTime.text = TimeConverter.ConvertSecondsToTimeString(bestRun.TimeSpent); } else { winDialogBestMoves.text = "---"; winDialogBestTime.text = "---"; } }
internal static bool UserGetsAnotherHint(string currentPuzzleName, string currentPuzzleCategory) { if (PuzzlePersistence.IsPuzzleFinished(currentPuzzleCategory, currentPuzzleName)) { return(false); } beatenLevelsCounter++; if (beatenLevelsCounter == HINT_REWARD_SPACER) { beatenLevelsCounter = 0; SaveBeatenLevels(); return(true); } SaveBeatenLevels(); return(false); }
private void CreatePuzzleUIElement(Puzzle puzzle) { var uiElementRef = (GameObject)GameObject.Instantiate(puzzleUIElement, new Vector3(0, 0), new Quaternion()); uiElementRef.transform.SetParent(puzzleContainer.transform); uiElementRef.transform.localPosition = new Vector3(currentXcoordinate, currentYcoordinate); uiElementRef.transform.localScale = Vector3.one; uiElementRef.transform.Find("Title-PuzzleCount").gameObject.GetComponent <Text>().text = currentPuzzleCounter.ToString(); if (PuzzlePersistence.IsPuzzleFinished(currentCategory, puzzle.PuzzleName)) { var starRef = uiElementRef.transform.Find("Star").gameObject; starRef.GetComponent <Image>().sprite = FullStarSprite; } // Setup best moves and best time var bestMovesRef = uiElementRef.transform.Find("Dynamic-Moves"); var bestTimeRef = uiElementRef.transform.Find("Dynamic-Time"); var puzzleSaveClass = PuzzlePersistence.GetBestPuzzle(currentCategory, puzzle.PuzzleName); if (puzzleSaveClass != null) { bestMovesRef.GetComponent <Text>().text = puzzleSaveClass.TurnCount.ToString(); bestTimeRef.GetComponent <Text>().text = TimeConverter.ConvertSecondsToTimeString(puzzleSaveClass.TimeSpent); } var levelSelectScript = uiElementRef.GetComponent <PuzzleMenuLevelSelectScript>(); levelSelectScript.PuzzleCategory = currentCategory; levelSelectScript.PuzzleToLoad = puzzle.PuzzleName; puzzleRowCount++; currentPuzzleCounter++; currentXcoordinate += puzzleUIElementWidth + buffer; }
private int GetCompletedLevels() { var levels = PuzzlePersistence.GetPuzzlesFinishedInCategory(CategoryName); return(levels.Count()); }
// Use this for initialization void Start() { PuzzlePersistence.Load(); SettingsPersistence.Load(); HintSystem.InitializeFirstTimeHintSystem(); }