- Home /
Question by
rebelarcher · Jul 10, 2019 at 09:53 PM ·
shadertexturevariableplayerprefsint
How can i save a int for multiple texture. Please Read.
Hi everyone! Firstly i'm sorry for my bad english.I have a code for changing the textures of a object. And i have a price int variable. I changed every texture and save them sucsessfully. But i can not save price each of them. How can i save them price for each one. I can use a lot of variable. But it's will not pratict.
here is my code:
public class DynamicTexture : MonoBehaviour {
public Material[] textures;
public GameObject go;
public GameObject player;
public static int index;
public static int price;
public TMP_Text priceText;
public TMP_Text info;
public int Free = 0;
public static bool youHaveThis;
public TMP_Text haveThis;
public static bool buy;
void Start()
{
index = PlayerPrefs.GetInt("Theme" ,index);
if(Shopping.temaAldı == true && price == 1)
{
player.GetComponent<Renderer>().material = textures[index];
}else { PlayerPrefs.GetInt("Theme", index);
}
player.GetComponent<Renderer>().material = textures[index];
}
void Update()
{
#region texturesRegion
if (textures[index] == textures[0] )
{
price = 200;
info.text = "LqweqwxzcxzcEL".ToString();
}
if (textures[index] == textures[1])
{
price = 500;
info.text = "LEL".ToString();
}
if (textures[index] == textures[2])
{
price = 300;
info.text = "QWEQW".ToString();
}
if (textures[index] == textures[3] )
{
price = 400;
info.text = "LqweqweEL".ToString();
}
if (textures[index] == textures[4] )
{
price = -99999;
info.text = "LEvcbcvbcvL".ToString();
}
if (textures[index] == textures[5])
{
price = Free;
info.text = "LEbnmbnmL".ToString();
}
priceText.text = "Price :" + price.ToString();
#endregion texturesRegion
}
public void Left()
{
index--;
if(index < 0)
{
index = textures.Length - 1;
}
go.GetComponent<Renderer>().material = this.textures[index];
}
public void Right()
{
index++;
if(index > textures.Length - 1)
{
index = 0;
}
go.GetComponent<Renderer>().material = this.textures[index];
}
public void Buy()
{
Debug.Log(index);
if (ScoreCounter.coin >= price)
{
player.GetComponent<Renderer>().material = this.textures[index];
ScoreCounter.coin -= price;
PlayerPrefs.SetInt("GOLD",PlayerPrefs.GetInt("Price", -price) -ScoreCounter.coin);
PlayerPrefs.SetInt("Theme", index);
if (this.textures[index])
{
Shopping.temaAldı = true;
}
else {
Shopping.temaAldı = false;
}
}
if (ScoreCounter.coin < price)
{
Debug.Log("You Have No Money");
}
}
}
Comment
Your answer
Follow this Question
Related Questions
string plus int equals the name of the variable? How? 3 Answers
Shader Texture Change 3 Answers
CustomRenderTexture (RFloat) wont initialize in the same frame it is created. 0 Answers
how to solve shader/texture problem: putting white icons on colored planes 1 Answer
Assign Texture To Material Unity 4.6 1 Answer