I made a Coin Script which adds 1 Coin everytime my player Touches it but after the player dies and the game restarts with
SceneManager.LoadScene(SceneManager.GetActiveScene().name);
}
it doset keep the coins. What should I do to keep the Coins.
Scripts I used:
LogicScript:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using TMPro;
public class LogicScript : MonoBehaviour
{
public int playerScore;
public float coinsScore;
public TextMeshProUGUI textCoins;
public Text scoreText;
public GameObject gameOverScreen;
void Update()
{
if (playerScore > PlayerPrefs.GetInt("highestscore"))
PlayerPrefs.SetInt("highestscore", playerScore);
}
[ContextMenu("Increase Score")]
public void addScore(int scoreToAdd)
{
playerScore = playerScore + scoreToAdd;
scoreText.text = playerScore.ToString();
}
[ContextMenu("Increase Coins")]
public void addCoins(int coinsToAdd)
{
coinsScore = coinsScore + coinsToAdd;
textCoins.text = coinsScore.ToString();
}
public void restartGame()
{
SceneManager.LoadScene(SceneManager.GetActiveScene().name);
}
public void gameOver()
{
gameOverScreen.SetActive(true);
}
}
CoinPickerScript:
```csharp
**using UnityEngine;
using TMPro;
public class CoinPicker : MonoBehaviour
{
public LogicScript logic;
public float coin = 0;
public TextMeshProUGUI textCoins;
void Start()
{
logic = GameObject.FindGameObjectWithTag("Logic").GetComponent<LogicScript>();
}
private void OnTriggerEnter2D(Collider2D collision)
{
if(collision.transform.tag == "Coin")
{
logic.addCoins(1);
//textCoins.text = coin.ToString();
Destroy(collision.gameObject);
}
}
}**
```