Pular para o conteúdo

Gaveta

Namespace PBSLoaderCommonUtils · classe · PBSLoaderCommonUtils 2.0.0

public sealed class Gaveta

Dados guardados de uma sessão para outra, em chave e valor (números, textos, listas, classes simples), num arquivo JSON por mod e por lugar. Gravar só marca a gaveta: o arquivo é escrito 1,5 s depois da última mudança, na troca de cena e ao fechar o jogo. Pegue a gaveta de novo quando o ônibus ou o mapa trocar (Sdk.VeiculoTrocou, Sdk.MapaCarregou): cada ônibus e cada mapa tem a sua.

public string Lugar { get; }

“global”, “onibus/<nome>” ou “mapa/<nome>”.

public string Mod { get; }
public bool Persistente { get; }

false quando não há ônibus/mapa: a gaveta funciona, mas não grava nada.

public IEnumerable<string> Chaves { get; }
public bool Tem(string chave)
public T Ler<T>(string chave, T padrao = default)

Lê o valor, ou padrao se não existir ou não for convertível para T.

public void Gravar<T>(string chave, T valor)

Grava (ou troca) o valor. O arquivo é escrito logo depois.

public void Apagar(string chave)
public void Limpar()