Example #1
0
    private void SaveCompletedLevel()
    {
        var newPuzzleClass = new PuzzleSaveClass()
        {
            CategoryName = CurrentPuzzleCategory,
            PuzzleName   = CurrentPuzzleName,
            TimeSpent    = timerRef.GetComponent <TimeUpdaterScript>().GetTime(),
            TurnCount    = actionController.GetComponent <ActionControllerScript>().GetActionCount()
        };

        PuzzlePersistence.Save(newPuzzleClass);
    }
Example #2
0
    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  = "---";
        }
    }
Example #3
0
        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);
        }
Example #4
0
    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;
    }
Example #5
0
        private int GetCompletedLevels()
        {
            var levels = PuzzlePersistence.GetPuzzlesFinishedInCategory(CategoryName);

            return(levels.Count());
        }
 // Use this for initialization
 void Start()
 {
     PuzzlePersistence.Load();
     SettingsPersistence.Load();
     HintSystem.InitializeFirstTimeHintSystem();
 }