Preciso de ajuda para entender uma aula

Modulo: 3
a
Aula: Salvando Dados com PlayerPrefs
tenho TDAH então já peço desculpas se as duvidas que tenho forem algo bem simples de entender, na minha cabeça as informações começam a se embaralhar as vezes.

basicamente não entendi:

float recordeAtual = PlayerPrefs.GetFloat(“TempoDePartida”);
esse tempo de partida é oque? uma variável, uma nome alternativo para o valor?

métodos estáticos, não entendi a explicação.

“TempoDePartida” é uma chave usada para guardar um valor no computador do jogador usando o sistema PlayerPrefs.
Nesse caso “PlayerPrefs.GetFloat(“TempoDePartida”);” o método GetFloat está pegando o valor que foi salvo no "tempoDePartida " e passando pra variável “recordeAtual”. Eu não lembro dessa aula, mas provavelmente “TempoDePartida” está recebendo algum valor antes, algo do tipo: PlayerPrefs.SetFloat(“TempoDePartida”, 100), nesse caso SetFloat está passando o valor 100 para o “TempoDePartida” e salvando no computador(pode ser outro dispositivo). Resumindo, PlayerPrefs é uma classe que serve para salvar dados simples no dispositivo do usuário, mas não é recomendado para dados sensiveis.

E métodos estáticos explicando a grosso modo, vamos supor que tu tenha dois scripts(duas classes diferentes), Calculadora e Resultado, na classe Calculadora eu tenho o método estático Soma:

            public class Calculadora : MonoBehaviour
          {
                  public static int Soma(int a, int b)
                   {
                     return a + b;
                    }
           }

Então na classe “Resultado” eu posso chamar o método Soma sem criar um objeto da classe “Calculadora”,

public class Resultado : MonoBehaviour
 {
     void Start()
       {
        //é só escrever o nome da classe e chamar o método Soma;
          int resultadoSoma = Calculadora.Soma(10, 5);
      }
 }

Se Soma não fosse um método estático seria diferente:

          public class Resultado : MonoBehaviour
          {
         
        //Aqui a referência a Calculadora
        public Calculadora calculadoraObjeto;
            void Start()
            {
                  int resultadoSoma = calculadoraObjeto.Soma(10, 5);
   
             }

        }

Nesse caso teria que arrastar o objeto que contém o script calculadora pra variável calculadoraObjeto no inspector(tem outros modos de fazer isso também).

Então métodos estáticos pertencem à classe, e não a uma instância dessa classe, isso significa que você pode chamar o método diretamente pelo nome da classe, sem precisar criar um objeto.

1 curtida