Database

A pasta database contém definições de estruturas de dados utilizadas pelo framework. O usuário está livre para adicionar novos arquivos à esta pasta e editar os arquivos existentes contanto que não remova nenhum dos arquivos padrão.

Os dados podem ser acessados como dicionários ao importar a variável database do módulo scripts/bgf.

Exemplo

Levando em conta um script qualquer que esteja dentro da pasta scripts, para importar database use o código:

from .bgf import database

# Obter propriedade encadeada lida de database/Bgf.json
contextFadeSpeed = database["Bgf"]["Global"]["ContextFadeSpeed"]

Variáveis

Para facilitar o reuso de dados, os arquivos JSON do BGForce suportam a funcionalidade de variáveis. Para utilizá-las, crie uma propriedade com o prefixo $ e atribua um valor a esta, e então use o nome desta propriedade onde quiser que seu valor seja utilizado. Por exemplo:

{
    "$CorPrincipal": [1.0, 0.0, 0.0, 1.0],
    "$CorSecundária": [0.0, 1.0, 0.0, 1.0],

    "CorDoJogador": "$CorPrincipal",
    "CorDoPet": "$CorPrincipal",
    "CorDoInimigo": "$CorSecundária",
    "CorDoChefe": "$CorSecundária",
}

Ao acessar "CorDoJogador" ou "CorDoPet" dentro do jogo, seus valores serão o mesmo que "$CorPrincipal", ou seja, a cor vermelha [1.0, 0.0, 0.0, 1.0]. Dessa forma, caso precisemos alterar a "CorDoJogador" e "CorDoPet" ao mesmo tempo só precisaremos alterar "$CorPrincipal", então as demais também se alterarão. O uso de variáveis no JSON não é obrigatório e em dados mais simples sequer é necessário, mas em árvores de dados que contém muitos valores pode facilitar muito a nossa vida (veja o arquivo database/Bgf.json exemplo de um caso desses) .

Nota: As variáveis não existem durante a execução do jogo, portanto no exemplo acima será impossível acessar "$CorPrincipal" como uma propriedade desta árvore de dados.

Arquivos

Os arquivos de definições do framework possuem particularidades relacionadas às suas funcionalidades, e estas estão descritas em suas respectivas páginas.