PlayerPrefs не сохраняет значение и постоянно выдаёт 0 при проверке

Рейтинг: -1Ответов: 1Опубликовано: 23.02.2023
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Voice : MonoBehaviour
{
    public Image image;
    public bool Mute;
    public GameObject Green;
    public GameObject Red;

    private void Start()
    {
        if(PlayerPrefs.GetInt("Voice") == 1)
        {
            Mute = true;
        }
    }

    private void OnTriggerStay2D(Collider2D collision)
    {
        image.fillAmount += 0.01f;
    }

    private void Update()
    {
        image.fillAmount -= 0.001f;

        if(image.fillAmount >= 0.97f)
        {
            image.fillAmount = 0f;
            if (Mute)
            {
                Mute = false;
            }
            else
            {
                Mute = true;
            }
        }

        if (Mute)
        {
            PlayerPrefs.SetInt("Voise", 1);
            PlayerPrefs.Save();
            Green.SetActive(false);
            Red.SetActive(true);
        }
        else
        {
            PlayerPrefs.SetInt("Voise", 0);
            PlayerPrefs.Save();
            Green.SetActive(true);
            Red.SetActive(false);
        }
    }
}

Ответы

▲ -1Принят

У тебя в Start() указан параметр VoiСe, а в Update() ты изменяешь параметр VoiSe, ощущаешь разницу?