public EndScreen CreateEndScreen(DataType.Minigame game, DataType.GameEnd type) { print("Created End Screen of type: " + type); EndScreen screen = Instantiate(GameManager.Instance.endingScreenPrefab).GetComponent <EndScreen> (); screen.typeOfGame = game; screen.typeOfScreen = type; switch (type) { case DataType.GameEnd.EarnedSticker: screen.EarnedSticker(); break; case DataType.GameEnd.CompletedLevel: screen.CompletedLevel(); break; case DataType.GameEnd.FailedLevel: screen.FailedLevel(); break; default: break; } return(screen); }
public void SetLastGamePlayed(DataType.Minigame game) { lastGamePlayed = game; // Save changes to save data SaveGame(); }
public void AddReviewGameToList(DataType.Minigame minigame) { print("Adding review game for " + minigame); if (!reviewGamesList.Contains(minigame) && GameManager.Instance.GetMinigameData(minigame).reviewPrefab) { reviewGamesList.Add(minigame); } }
/// <summary> /// Unlocks a sticker for the corresponding game. /// </summary> /// <param name="game">Type of game to unlock sticker for.</param> public void ActivateSticker(DataType.Minigame game) { // Copy current struct to a new one DataType.StickerType gameSticker = GetAssignedSticker(game); if (gameSticker != DataType.StickerType.None) { ActivateSticker(gameSticker); } }
// For creating a review without any conditions public void CreateReviewImmediately(DataType.Minigame minigame) { GameObject reviewGame = GameManager.Instance.GetMinigameData(minigame).reviewPrefab; if (reviewGame) { SpawnReview(reviewGame); } }
/// <summary> /// Retrieves the unlocked status of sticker assigned to the game /// </summary> /// <param name="game">Type of game to check status of sticker.</param> /// <returns>Returns whether sticker is unlocked or not.</returns> public bool GetIsStickerUnlocked(DataType.Minigame game) { if (stickerStats.ContainsKey(GetAssignedSticker(game))) { return(stickerStats[GetAssignedSticker(game)].isStickerUnlocked); } else { return(false); } }
void InitializeFromLoad(GameSave save) { print("Initializing entries from save file"); gameStats = save.gameStats; stickerStats = save.stickerStats; visitedAreas = save.visitedAreas; lastGamePlayed = save.lastGamePlayed; isMonsterSelected = save.isMonsterSelected; playerMonsterType = save.playerMonsterType; numOfGamesCompleted = save.numOfGamesCompleted; isIntroShown = save.isIntroShown; }
/// <summary> /// Retrieves the type of sticker assigned to the game /// </summary> /// <param name="game">Type of game to unlock sticker for.</param> /// <returns>Returns a StickerType from DataType</returns> public DataType.StickerType GetAssignedSticker(DataType.Minigame game) { GameObject stickerPrefab = minigameDictionary[game].stickerPrefab; if (stickerPrefab) { return(stickerPrefab.GetComponent <StickerBehaviour> ().typeOfSticker); } else { return(DataType.StickerType.None); } }
public void CompleteTutorial(DataType.Minigame gameName) { // Copy current struct to a new one MinigameStats newStats = gameStats[gameName]; // Modify desired variable newStats.isTutorialPending = false; // Save changes to new struct gameStats[gameName] = newStats; // Save changes to save data SaveGame(); }
// Called at the end of a minigame public void LevelUp(DataType.Minigame gameName) { MinigameStats newStats = gameStats[gameName]; // Copy current struct to a new one numOfGamesCompleted++; if (newStats.stars < 3) { newStats.stars += 1; } if (newStats.level < 3) { newStats.level += 1; } if (newStats.stars == 1 || newStats.stars == 3) { if (ReviewManager.Instance) { ReviewManager.Instance.AddReviewGameToList(gameName); } // Set needReview to true when lvl 3 is completed every other time, temporary measure to reduce annoying reviews if (newStats.stars >= 3) { if (activateReview) { if (ReviewManager.Instance) { ReviewManager.Instance.NeedReview = true; } } activateReview = !activateReview; } else { if (ReviewManager.Instance) { ReviewManager.Instance.NeedReview = true; } } } gameStats[gameName] = newStats; // Save changes to new struct // Save changes to save data SaveGame(); }
public void StartReview(DataType.Minigame minigame) { // Check if there is at least 1 review game in the pool, otherwise terminate review print("*CHECKING REVIEW CONDITIONS*"); if (reviewGamesList.Count > 0) { DataType.Minigame selectedReview = reviewGamesList.GetRandomItem(); // If the same type of game matches review, don't review if (minigame != selectedReview) { SpawnReview(GameManager.Instance.GetMinigameData(selectedReview).reviewPrefab); return; } } TerminateReview(); }
private void Start() { // Initialize stars array for (int i = 0; i < transform.childCount; i++) { stars[i] = transform.GetChild(i).gameObject; TurnOffStar(stars[i]); } if (GetComponentInParent <MinigameButton> ()) { DataType.Minigame minigame = GetComponentInParent <MinigameButton> ().typeOfGame; // Initialize numStars with amount of stars from Game Manager numStars = GameManager.Instance.GetNumStars(minigame); for (int i = 0; i < numStars; ++i) { TurnOnStar(stars[i]); } } else if (GetComponentInParent <EndScreen> ()) { DataType.Minigame minigame = transform.parent.GetComponentInParent <EndScreen> ().typeOfGame; // Initialize numStars with amount of stars from Game Manager numStars = GameManager.Instance.GetNumStars(minigame); for (int i = 0; i < numStars; ++i) { TurnOnStar(stars[i]); } } else { Debug.LogError("StarPanel was not able to find a MinigameButton or End Screen script in the parent."); } // Show number of stars }
public void RemoveReviewGameFromList(DataType.Minigame minigame) { reviewGamesList.Remove(minigame); }
/// <summary> /// Retrieves the current level of a game /// </summary> /// <param name="gameName">Type of game to retrieve current level for.</param> /// <returns>Returns the current level of game, first level has a value of 1.</returns> public int GetLevel(DataType.Minigame gameName) { return(gameStats[gameName].level); }
public bool GetPendingTutorial(DataType.Minigame gameName) { return(gameStats[gameName].isTutorialPending); }
public int GetNumStars(DataType.Minigame gameName) { return(gameStats[gameName].stars); }
public MinigameData GetMinigameData(DataType.Minigame gameName) { return(minigameDictionary[gameName]); }