protected override void OnTriggerActivate(Collider2D other) { if (!saved && other.CompareTag("Player")) { PlayerUpgrades upgrades = other.GetComponent <PlayerUpgrades>(); if (upgrades) { GameData gameData = upgrades.GetDataForSaving(); if (gameData != null) { DialogueHandler.instance.StartDialogue(saveDialogue); saved = true; gameData.spawnLocation = this.UniqueID; SaveProfile saveProfile = new SaveProfile(gameData.ProfileName, true); saveProfile.Save(gameData); } else { Debug.LogWarning("SaveStation: " + nameof(GameData) + " is null."); } } else { Debug.LogWarning("SaveStation: Player doesn't have " + nameof(PlayerUpgrades) + " component."); } Health health = other.GetComponent <Health>(); if (health) { health.Heal(health.MaxHP); } else { Debug.LogWarning("SaveStation: Player doesn't have" + nameof(Health) + " component."); } } }
private void DoConsole(int windowID) { GUILayout.BeginVertical(); { GUILayout.BeginHorizontal(); { destination = new UniqueID(GUILayout.TextField(destination.SceneName), GUILayout.TextField(destination.ObjectName)); if (GUILayout.Button("Teleport", GUILayout.MaxWidth(100)) && !string.IsNullOrWhiteSpace(destination.SceneName) && // SceneManager.GetSceneByName(destination.SceneName).IsValid() && !string.IsNullOrWhiteSpace(destination.ObjectName)) { if (player) { for (int i = 0; i < SceneManager.sceneCount; i++) { Scene scene = SceneManager.GetSceneAt(i); if (scene != player.scene) { SceneLoader loader = new SceneLoader(loadingSceneName); loader.ScenesToUnload.Add(scene.name); loader.Destination = destination; loader.GameData = playerUpgrades.GetDataForSaving(); loader.FadeScenes(); break; } } } } } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("Health: "); newHP = GUILayout.TextField(newHP); if (GUILayout.Button("Set", GUILayout.Width(100))) { health.Hp = Int32.Parse(newHP); } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("MaxHealth: "); newMaxHP = GUILayout.TextField(newMaxHP); if (GUILayout.Button("Set", GUILayout.Width(100))) { playerUpgrades.MaxHealth = Int32.Parse(newMaxHP); } GUILayout.EndHorizontal(); health.isInvulnerable = GUILayout.Toggle(health.isInvulnerable, "Invunerable"); playerUpgrades.HasDoubleJump = GUILayout.Toggle(playerUpgrades.HasDoubleJump, "Double Jump"); playerUpgrades.HasScythe = GUILayout.Toggle(playerUpgrades.HasScythe, "Scythe"); playerUpgrades.HasFireAttack = GUILayout.Toggle(playerUpgrades.HasFireAttack, "Fire Attack"); playerUpgrades.HasTalkedToJudas = GUILayout.Toggle(playerUpgrades.HasTalkedToJudas, "Talked to Judas"); foreach (var key in playerUpgrades.Keys) { GUILayout.Label(key.ToString()); if (GUILayout.Button("Remove", GUILayout.Width(100))) { playerUpgrades.Keys.Remove(key); break; } } GUILayout.Label("Add Key:"); newKey = new UniqueID(GUILayout.TextField(newKey.SceneName), GUILayout.TextField(newKey.ObjectName)); if (GUILayout.Button("Add", GUILayout.MaxWidth(100)) && !string.IsNullOrWhiteSpace(newKey.SceneName) && // SceneManager.GetSceneByName(newKey.SceneName).IsValid() && !string.IsNullOrWhiteSpace(newKey.ObjectName)) { playerUpgrades.Keys.Add(newKey); } } GUILayout.EndVertical(); }