/// <summary> /// Save the current game with the provided name. /// </summary> public void SaveGame() { // Do nothing if the input field is empty. string baseFileName = this.inputField.text.RemoveEnd(".tscgame"); if (IsInvalidBaseFileName(baseFileName)) { return; } // Otherwise, create a Path object from the provided text content and check it for validity. If the file // path provided is illegal, then simply return. // TODO_LATER Add a message about illegal file name. PathInst targetPath = SaveGameManager.InitializeSaveFilePathFromFileName($"{baseFileName}.tscgame"); string path = targetPath.ToString(); if (!LocalFileUtils.ValidateDllPath(ref path)) { return; } // Save the game at the desired path. SaveGameManager.SaveGame(SaveFile.CreateSaveFile(this.gameSceneManager.gameState), targetPath); // Clear out the text input, and reload the saved games. this.inputField.text = ""; this.LoadSavedGames(); }
public void ModHealth(int mod) { health += mod; healthText.text = health.ToString(); hpBar.UpdateHP((float)health / (float)maxHealth); if (mod < 0) { GetComponent <Animator>().SetTrigger("Damage"); } if (health <= 0) { print("Victory!"); if (CombatInfo.FightType != -1) { CombatInfo.CombatsFinished++; } else { CombatInfo.HealthPotionCount = 3; } if (CombatInfo.FightType == -1) { CombatInfo.FightType = 0; } SaveGameManager.SaveGame(new Vector3(0, 0, 0), CombatInfo.CombatsFinished); GameState.curHealth = cm.player.health; CombatInfo.CoinCount += CombatInfo.CoinsToDrop; Die(); } }
/// <summary> /// Saves the game. /// </summary> public void SaveGame() { var save = new SaveGame(); if (HeroManager != null) { HeroManager.Save(ref save); } if (AbilityManager != null) { AbilityManager.Save(ref save); } if (RosterManager != null) { RosterManager.Save(ref save); } if (InventoryManager != null) { InventoryManager.Save(ref save); } if (WorldManager != null) { WorldManager.Save(ref save); } save.LastRewardTime = lastRewardTime; save.IsFilled = true; SaveGameManager.SaveGame(save); }
void Start() { if (loadIfExists) { // Load test if (SaveGameManager.SaveGameExists) { Debug.Log("Save exists, loading."); testSaveGame = SaveGameManager.LoadGame(); } else { Debug.Log("Save file does not exist."); SaveGameManager.SaveGame(testSaveGame); } } if (deleteIfExists) { // Delete test SaveGameManager.DeleteSaveGame(); if (SaveGameManager.SaveGameExists) { Debug.Log("Save still exists, deleting failed."); } else { Debug.Log("Save deleted."); } } }
private void OnDestroy() { if (saveOnDestroy) { Debug.Log("Saving."); testSaveGame.IsFilled = true; SaveGameManager.SaveGame(testSaveGame); } }
public void ActivateNode(GameObject other) { MapNodeManager mapNodeManager = MapNodeManager.GetInstance(); //node activation if (mapNodeManager != null && other != null) { if (other.GetComponent <MapPlayerController>() != null && GameState.GetInstance().ReadyToBattle) { if (nodeState == NodeState.Start || (nodeState == NodeState.Incomplete && MapNodeList.nodes[previusIndex].nodeState == NodeState.Current)) { SaveGameManager.SaveGame(other.transform.position, CombatInfo.CombatsFinished); if (nodeState != NodeState.Start) { MapNodeList.nodes[previusIndex].spriteRenderer.color = completeNormalColor; MapNodeList.nodes[previusIndex].nodeState = NodeState.Complete; } spriteRenderer.color = currentNormalColor; nodeState = NodeState.Current; //get combat info from the gameobject sprite render is on Combat combat = spriteRenderer.gameObject.GetComponent <Combat>(); if (combat != null) { //node based fight info if (previusIndex == 1) { CombatInfo.FightType = 1; } if (previusIndex == -1) { CombatInfo.Env = Environment.Grass; } else { CombatInfo.Env = Environment.City; } GameObject.FindObjectOfType <FadeOut>().Fade(combat); } } } } }
IEnumerator ResetGame() { if (GameManager.currentGameState == GameState.GameOverScene) { gameOver = GameObject.FindWithTag("GameOver").GetComponent <TextMeshProUGUI>(); gameOver.enabled = true; // Save Game SaveGameManager.SaveGame((int)score, timePlaying.TotalSeconds); yield return(new WaitForSecondsRealtime(3f)); Reset(); Time.timeScale = 1; gameOverCoroutine = null; SceneManager.LoadScene(0); SceneManager.sceneLoaded += OnSceneLoaded; } }
// Update is called once per frame void Update() { // Check if the user has entered the right combo if (Input.GetKeyDown(KeyCode.V)) { if (count == 0) { count++; } } if (Input.GetKeyDown(KeyCode.I)) { if (count == 1) { count++; } } if (Input.GetKeyDown(KeyCode.P)) { if (count == 2) { count++; } } if (Input.GetKeyDown(KeyCode.E)) { if (count == 3) { count++; } } if (Input.GetKeyDown(KeyCode.R)) { if (count == 4) { if (activated) { Debug.Log("cheat deactivated"); } else { Debug.Log("cheat activated"); } activated = !activated; count = 0; } } if (activated) { // Skip to Boss if (Input.GetKeyDown(KeyCode.F2)) { if (MapNodeList.nodes.Count == 3) { MapNodeList.nodes[0].nodeState = NodeState.Complete; MapNodeList.nodes[1].nodeState = NodeState.Current; Debug.Log("Skip to Boss Cheat"); CombatInfo.CombatsFinished = 2; // If we are already on the map, save and then load the scene to have the nodes update visually if (SceneManager.GetActiveScene() == SceneManager.GetSceneByName("Map")) { SaveGameManager.SaveGame(GameState.Player, CombatInfo.CombatsFinished); SaveGameManager.LoadGame(); SceneManager.LoadScene("Map"); } } else { Debug.LogError("MAP NODES NOT INITIALIZED. THERE ARE NOT 3 MAP NODES IN THE LIST"); } } // Win Current Combat if (Input.GetKeyDown(KeyCode.F3)) { if (SceneManager.GetActiveScene() == SceneManager.GetSceneByName("Combat")) { CombatManager cm = FindObjectOfType <CombatManager>(); cm.AttackEnemy(cm.enemy.maxHealth); Debug.Log("Finished Combat Cheat"); } } // Heal Player to Full if (Input.GetKeyDown(KeyCode.F4)) { Debug.Log("Heal Cheat"); if (SceneManager.GetActiveScene() == SceneManager.GetSceneByName("Combat")) { CombatManager cm = FindObjectOfType <CombatManager>(); cm.player.ModHealth(GameState.GetInstance().MaxHealth); } else { GameState.curHealth = GameState.GetInstance().MaxHealth; } } } }
// Update is called once per frame void Update() { if (transform.parent.gameObject.activeSelf) { if (Input.GetKeyDown(downKey) || Input.GetKeyDown(downKey2)) { if (selected == options.Length - 1) { selected = 0; } else { selected++; } } else if (Input.GetKeyDown(upKey) || Input.GetKeyDown(upKey2)) { if (selected == 0) { selected = options.Length - 1; } else { selected--; } } if (Input.GetKeyDown(pickKey)) { if (store) { //print(selected); switch (selected) { case 0: if (CombatInfo.CoinCount > 1) { CombatInfo.HealthPotionCount++; CombatInfo.CoinCount -= 2; print("get potion"); } else { print("not enough bucks"); } break; case 1: transform.parent.gameObject.SetActive(false); break; } } else { switch (selected) { case 0: print("use potion"); break; case 1: SaveGameManager.SaveGame(Player.transform.position, CombatInfo.CombatsFinished); break; case 2: SceneManager.LoadScene("MainMenu"); break; } } } for (int i = 0; i < options.Length; i++) { if (i == selected) { options[i].enabled = true; } else { options[i].enabled = false; } } } }