Problem with a var which don't change

I’ ve got a problem with a var which remain always “0” but i want to change it to “1”… I don’t know how explain it so, I’ll paste here the script.

static var MusicaAbilitata : int;
var ScrittaOn : GameObject;
var ScrittaOff : GameObject;
var punto : Vector3;
var PosPunto : Vector2;
var aspetta : int;

function Start()
{
    MusicaAbilitata = PlayerPrefs.GetInt("musica", 0);
    if(MusicaAbilitata == 0)
    {
        ScrittaOn.active = true;
        ScrittaOff.active = false;
    }
    if(MusicaAbilitata == 1)
    {
        ScrittaOn.active = false;
        ScrittaOff.active = true;
    }
}

function Update()
{
    if(Input.touchCount == 1)
        {
            punto = Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position);
            PosPunto = new Vector2(punto.x, punto.y);
                if(gameObject.GetComponent.<Collider2D>().bounds.Contains(PosPunto))
                {
                if(aspetta == 0)
                {
                    if(MusicaAbilitata == 0)
                    {
                        Disabilita();
                    }
                    if(MusicaAbilitata == 1)
                    {
                        Abilita();
                    }
                    Debug.Log(MusicaAbilitata);
                    PlayerPrefs.SetInt("musica", MusicaAbilitata);
                }
                }
            }
}

function Disabilita()
{
    aspetta = 1;
    ScrittaOn.active = true;
    ScrittaOff.active = false;
    MusicaAbilitata = 1;
    yield WaitForSeconds(1);
    aspetta = 0;
   
}

function Abilita()
{
    aspetta = 1;
    ScrittaOn.active = false;
    ScrittaOff.active = true;
    MusicaAbilitata = 0;
    yield WaitForSeconds(1);
    aspetta = 0;
}

You check if the variable is 0, and if it is, it sets the variable to 1, then you check if the variable is 1, which it is since you just set it to 1, so it sets it back to 0.

–Eric

What eric said, instead of second “if” put, “else if” or “else”

If you are only setting it to 0 or 1 then consider using a bool instead.