63 lines
1.8 KiB
C#
63 lines
1.8 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
/// <summary>
|
|
/// Script to reset player stuf like
|
|
/// - missions list
|
|
/// - items
|
|
/// - equipment
|
|
/// - health
|
|
/// - exp
|
|
/// </summary>
|
|
public class ResetPlayer : MonoBehaviour
|
|
{
|
|
public bool isAfterReset = false;
|
|
|
|
void Update()
|
|
{
|
|
if (!isAfterReset)
|
|
ResetPlayerData();
|
|
}
|
|
|
|
void ResetPlayerData()
|
|
{
|
|
if (
|
|
EquipmentDataManager.Instance == null ||
|
|
SceneInventoryDataManager.Instance == null ||
|
|
SceneTaskDataManager.Instance == null
|
|
) return;
|
|
|
|
if (PlayerPrefs.GetString("gateway.sourceMapName") == "SampleScene")
|
|
{
|
|
isAfterReset = true;
|
|
|
|
// Clear panels data
|
|
EquipmentDataManager.Instance.ClearListOfElements();
|
|
SceneInventoryDataManager.Instance.ClearListOfElements();
|
|
SceneTaskDataManager.Instance.ClearListOfElements();
|
|
|
|
var saveController = GameObject.FindObjectOfType<SaveController>();
|
|
|
|
saveController.SavePlayerEquipmentItems();
|
|
saveController.SavePlayerInventory();
|
|
saveController.SavePlayerQuests();
|
|
|
|
// Player reset lvl, exp & health
|
|
var playerAgent = GameObject.FindGameObjectWithTag("Player");
|
|
|
|
playerAgent.GetComponent<Player>().currentHealth = PlayerPrefs.GetFloat("maxHealth");
|
|
PlayerPrefs.SetFloat("health-S", PlayerPrefs.GetFloat("maxHealth"));
|
|
PlayerPrefs.SetFloat("health", PlayerPrefs.GetFloat("maxHealth"));
|
|
|
|
playerAgent.GetComponent<Player>().exp = 0;
|
|
PlayerPrefs.SetFloat("exp-S", 0);
|
|
|
|
playerAgent.GetComponent<Player>().lvl = 1;
|
|
PlayerPrefs.SetInt("lvl-S", 1);
|
|
|
|
playerAgent.GetComponent<Player>().SaveCheckpoint();
|
|
}
|
|
}
|
|
}
|