PlayerPrefs ile kaydetme nasıl yapılır?

ErenAB748

Decapat
Katılım
26 Kasım 2020
Mesajlar
123
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Merhaba, yazdığım kodda int değişkeninin değerini kaydetmek istiyorum ama olmuyor. Editörde bir hata da vermiyor.

Kod:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class satınalma2 : MonoBehaviour
{
    public GameObject yazı;
    public GameObject button;
    float fiyat = 500f;
    public int alim = 0;
    public para GameManager;
    public Text fiyatText;
    public GameObject mk11;
    public GameObject mk21;
    public GameObject mk31;
    public GameObject mk12;
    public GameObject mk22;
    public GameObject mk32;
    public GameObject mk13;
    public GameObject mk23;
    public GameObject mk33;
    public GameObject mk14;
    public GameObject mk24;
    public GameObject mk34;
    public GameObject mk15;
    public GameObject mk25;
    public GameObject mk35;
    public kat Gamemanager;
  


    void Start()
    {
        GameManager.x = 1;
        UpdateUI();
        fiyat = PlayerPrefs.GetFloat("fiyat", 500f);
        alim = PlayerPrefs.GetInt("alim", 0);
        GameManager.x = PlayerPrefs.GetFloat("GameManager.x", 1f);
        fiyatText.text = PlayerPrefs.GetString("fiyatText", fiyatText.text);
    


    }
    void Update()
    {
      

        if(Gamemanager.satınalma == 0)
        {
            if (alim == 1)
            {
                mk11.SetActive(true);
            }
            if (alim == 2)
            {
                mk21.SetActive(true);
            }
            if (alim == 3)
            {
                mk31.SetActive(true);
            }
        }
        if(Gamemanager.satınalma == 1)
        {
            if (alim == 1)
            {
                mk11.SetActive(true);
            }
            if (alim == 2)
            {
                mk21.SetActive(true);
            }
            if (alim == 3)
            {
                mk31.SetActive(true);
            }
            if (alim == 4)
            {
                mk12.SetActive(true);
            }
            if (alim == 5)
            {
                mk22.SetActive(true);
            }
            if (alim == 6)
            {
                mk32.SetActive(true);
            }
        }
        if (Gamemanager.satınalma == 2)
        {
            if (alim == 1)
            {
                mk11.SetActive(true);
            }
            if (alim == 2)
            {
                mk21.SetActive(true);
            }
            if (alim == 3)
            {
                mk31.SetActive(true);
            }
            if (alim == 4)
            {
                mk12.SetActive(true);
            }
            if (alim == 5)
            {
                mk22.SetActive(true);
            }
            if (alim == 6)
            {
                mk32.SetActive(true);
            }
            if (alim == 7)
            {
                mk13.SetActive(true);
            }
            if (alim == 8)
            {
                mk23.SetActive(true);
            }
            if (alim == 9)
            {
                mk33.SetActive(true);
            }
          
        }
        if (Gamemanager.satınalma == 3)
        {
            if (alim == 1)
            {
                mk11.SetActive(true);
            }
            if (alim == 2)
            {
                mk21.SetActive(true);
            }
            if (alim == 3)
            {
                mk31.SetActive(true);
            }
            if (alim == 4)
            {
                mk12.SetActive(true);
            }
            if (alim == 5)
            {
                mk22.SetActive(true);
            }
            if (alim == 6)
            {
                mk32.SetActive(true);
            }
            if (alim == 7)
            {
                mk13.SetActive(true);
            }
            if (alim == 8)
            {
                mk23.SetActive(true);
            }
            if (alim == 9)
            {
                mk33.SetActive(true);
            }
            if (alim == 10)
            {
                mk14.SetActive(true);
            }
            if (alim == 11)
            {
                mk24.SetActive(true);
            }
            if (alim == 12)
            {
                mk34.SetActive(true);
            }
        }
        if (Gamemanager.satınalma == 4)
        {
            if (alim == 1)
            {
                mk11.SetActive(true);
            }
            if (alim == 2)
            {
                mk21.SetActive(true);
            }
            if (alim == 3)
            {
                mk31.SetActive(true);
            }
            if (alim == 4)
            {
                mk12.SetActive(true);
            }
            if (alim == 5)
            {
                mk22.SetActive(true);
            }
            if (alim == 6)
            {
                mk32.SetActive(true);
            }
            if (alim == 7)
            {
                mk13.SetActive(true);
            }
            if (alim == 8)
            {
                mk23.SetActive(true);
            }
            if (alim == 9)
            {
                mk33.SetActive(true);
            }
            if (alim == 10)
            {
                mk14.SetActive(true);
            }
            if (alim == 11)
            {
                mk24.SetActive(true);
            }
            if (alim == 12)
            {
                mk34.SetActive(true);
            }
            if (alim == 13)
            {
                mk15.SetActive(true);
            }
            if (alim == 14)
            {
                mk25.SetActive(true);
            }
            if (alim == 15)
            {
                mk35.SetActive(true);
                yazı.SetActive(true);
                button.SetActive(false);
            }
        }


    }

    public void SatinAl()
    {
        if (GameManager.şimdikiizlenme >= fiyat && alim < 5)
        {
            GameManager.şimdikiizlenme -= fiyat;
            GameManager.x += GetKazanc();
            fiyat = GetFiyat();
            alim++;
            UpdateUI();
        }
        else
        {
            Debug.LogWarning("Yeterli para yok!");
        }
        PlayerPrefs.SetFloat("fiyat", fiyat);
        PlayerPrefs.SetInt("alim", alim);
        PlayerPrefs.SetFloat("GameManager.x", GameManager.x);
        PlayerPrefs.SetString("fiyatText", fiyatText.text);





    }

    int GetKazanc()
    {
        switch (alim)
        {
            case 0:
                return 4;
            case 1:
                return 21;
            case 2:
                return 15;
            case 3:
                return 15;
            default:
                return 0;
        }
    }

    float GetFiyat()
    {
        switch (alim)
        {
            case 0:
                return 3000f;
            case 1:
                return 10000;
            case 2:
                return 15000;
            case 3:
                return 30000;
            default:
                return 0f;
        }
    }

    void UpdateUI()
    {
        fiyatText.text = fiyat.ToString("C0");

    }
 
}
Nasıl düzeltebilrim? Oyunu aç kapa yapınca alım değeri tekrar sıfırdan başlıyor.
 
Son düzenleyen: Moderatör:

Technopat Haberler

Geri
Yukarı