custom state novo sla porra - 0mily/ViroViroIce-Engine GitHub Wiki




Como fazer Custom States!


  • A ViroViroIce Engine é uma engine que tem suporte de States customizados em .lua e .hx! Abaixo está o sumário de como vai ser cada coisa e cada assunto:
SUMÁRIO
Setup
Custom States
Custom Substates
API (geral)
TitleState
MainMenuState
StoryMenuState
FreeplayState
OptionsState (Heavy WIP)
CreditsState

Setup Básico

  • Para começar, os states customizados costumam sempre ir na pasta data/states. Onde lá dentro, você poderá colocar o seu state customizado. Podendo ser tanto em .lua, como em .hx.

Saiba mais da API aqui!

  • A sua pasta estará mais ou menos assim se tudo der certo.
  • Após isso, entra a segunda etapa que é como você irá chamar o state. E para isso, temos duas maneiras extremamente simples.
  • Substituição
  • Abrir

Tentarei explicar todos de maneira clara e direta para que não fique muita enrolação, por quê eu sei que todos estão provavelmente pulando isto.


Método 1: Substituir

  • Neste método, você vai precisar mexer em seu pack.json para funcionar. Nele, coloque a categoria de "States". Para ficar mais ou menos assim:
  "states": {
    }
  • Com agora a próxima etapa ser você decidir qual state vai ser trocado. Aqui embaixo deixarei um template de todos os states que podem ser trocados por via do pack.json:
"states": {
        "TitleState": "",
        "MainMenuState": "",
        "StoryMenuState": "",
        "FreeplayState": "",
        "CreditsState": "",
        "OptionsState": ""
}
  • Agora, o último passo, é você substituir qual dos states acima será o seu state custom (que no caso será nomeado como MyState.)
"states": {
        "MainMenuState": "MyState" // REMEMBER TO ALWAYS REMOVE STATES IF YOU WILL NOT USE THEM!
}

Método 2: Abrir

  • Neste outro método, você utiliza de outro state para abrir o State customizado. Ou seja, vamos supor que você tenha um state. Seja editando outro state, ou apenas um customizado mesmo. Você pode fazer um dos seguintes APIs dentro do arquivo:
     openCustomState('MyState')
  • Desta forma, a engine vai conseguir transicionar para o Custom State que você criou.

Saiba mais do API

Custom States

  • Custom States são States naturalmente vazios em conteúdo, onde se é criado para states totalmente novos. E neles você poderá criar desde algo bem simples, como um novo menu inteiramente refeito sem necessáriamente precisar editar por cima de outros states. Eles podem ser qualquer coisa que você desejar, por tanto que o state faça tudo certinho.