У меня есть «datapack», скрытый на каждом из моих уровней, система запоминает за уровень, если артефакт был взят, и если он отключает артефакт, когда игрок воспроизводит его, но я также хочу отслеживать общая сумма взята, система почти работает, есть всего одна маленькая проблема: Когда я заканчиваю уровень с первого датапака, в меню говорится: 1, это правильно. , но когда я делаю это с 2-го, она говорит 3, с 3-он говорит 4, 4 говорит 5 и т.д. я не понимаю, почему и, следовательно, не может исправить это вот код:issue with Playerprefs
function OnTriggerEnter(other : Collider) {
if(other.CompareTag("DataPacket")){
pickedUpDataPacket = 1;
Destroy(other.gameObject);
gameObject.Find("DatapackFound").guiText.enabled = true;
yield WaitForSeconds (1.5);
gameObject.Find("DatapackFound").guiText.enabled = false;
}
if(other.CompareTag("Finish") && pickedUpDataPacket == 1){
PlayerPrefs.SetInt("DataPackLevel" + levelindex.ToString(), 1);
//if(!PlayerPrefs.HasKey("totalDatapacks")){
//PlayerPrefs.SetInt("totalDatapacks", 1);
//} else {
PlayerPrefs.SetInt("totalDatapacks", (PlayerPrefs.GetInt("totalDatapacks")+1));
}
}
//}
Я уже прокомментировал часть, я считаю, что это тоже было частью проблемы.
и часть 2-го сценария:
if(datapacktotal){
if(PlayerPrefs.GetInt("totalDatapacks") > 0){
findText.text = "Collected:" + PlayerPrefs.GetInt ("totalDatapacks");
}
Заранее спасибо :)