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.
Nasıl düzeltebilrim? Oyunu aç kapa yapınca alım değeri tekrar sıfırdan başlıyor.
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");
}
}
Son düzenleyen: Moderatör: