Pular para o conteúdo

Painel

Namespace PBSLoaderCommonInterface · classe · PBSLoaderCommonInterface 0.4.0

public sealed class Painel

Um painel de mod: uma janela pequena por cima do jogo, que não pausa nem tampa a direção, montada a partir do que o mod descreve (textos, valores, barras, botões, chaves, faixas). A PBSLoaderCommonInterface desenha no visual dela, atualiza os valores a cada quadro e solta o cursor enquanto o painel está aberto. Crie com Paineis.Criar. Os itens são lidos e chamados na thread principal; uma exceção num item vira “—” e uma linha no log.

public string Mod { get; }
public string Id { get; }
public string Titulo { get; set; }
public float Largura { get; set; }

Largura da janela, em pixels de uma tela 1920x1080.

public Atalho Atalho { get; }

Atalho que abre e fecha o painel (registrado em Paineis.Criar), ou null.

public bool Aberto { get; }
public void Abrir()
public void Fechar()
public void Alternar()
public Painel Secao(string titulo)

Título de grupo.

public Painel Texto(Func<string> texto)

Texto corrido, recalculado a cada quadro.

public Painel Valor(string rotulo, Func<string> valor, string descricao = null)

Rótulo à esquerda e valor à direita (“Pressão”, “8,2 bar”).

public Painel Barra(string rotulo, Func<float> valor01, Func<string> texto = null)

Barra de 0 a 1, com um texto opcional ao lado.

public Painel Botao(string rotulo, Action acao, string textoDoBotao = "Executar", string descricao = null)

Botão que roda acao.

public Painel Chave(string rotulo, Func<bool> ler, Action<bool> mudar, string descricao = null)

Chave liga/desliga: ler diz o estado, mudar recebe o novo.

public Painel Faixa(string rotulo, Func<float> ler, Action<float> mudar, float min, float max, float passo = 0f, string formato = "0.##")

Faixa arrastável de min a max (passo 0 = contínua).

public Painel Preferencia(MelonPreferences_Entry entrada, float min = NaNf, float max = NaNf, float passo = 0f)

Uma preferência do mod, com o controle do tipo dela: bool vira chave; número vira faixa (com min e max) ou valor; o resto vira valor. Mudanças gravam o .cfg ao fechar o painel.