Mudanças entre as edições de "Predefinição:Character"

De Wiki Gla
Ir para navegação Ir para pesquisar
m
m
 
(37 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
<noinclude>
<noinclude>
== Como usar ==
<!-- Predefinição:Character — Documentação de Arquitetura -->
{{Character
== Arquivos envolvidos ==
| nome    = Franky
| tier    = Diamante
| info    = Franky é um personagem do tier Diamante.
| classes = Atirador/Tanque
| art    = FrankyArtwork.png


| hab1 = {{Skill
=== Predefinição ===
    | nome      = Strong Hammer
* [[Predefinição:Character]] — Ponto de entrada. Invoca <code><nowiki>{{#invoke:C|generate}}</nowiki></code> e carrega todos os widgets.
    | icone    = FrankyM1.png
    | level    = 1
    | poderpve  = 120
    | poderpvp  = 80
    | energia  = 50
    | recarga  = 8
    | desc      = Golpe de martelo poderoso.
    | video    = StrongHammer.webm
}}
| hab2 = {{Skill
    | nome      = Steel Guard
    | icone    = FrankyM2.png
    | level    = 2
    | poderpve  = 0
    | poderpvp  = 0
    | energia  = 30
    | recarga  = –
    | desc      = Levanta um escudo de aço.
    | video    = SteelGuard.webm
}}
<!-- hab3 e hab4 são opcionais -->
}}
</noinclude>


<onlyinclude>
=== Módulos Lua ===
<div class="character-card">
* [[Módulo:C]] — Fachada: re-exporta funções de C.Utils, C.i18n, C.Skin e C.Generate.
* [[Módulo:C.Generate]] — Gera todo o HTML server-side (header, icon-bar, skills, skins, data-attributes i18n).
* [[Módulo:C.i18n]] — Constantes i18n (ATTR, FLAGS, TAB, TIER, TAGS) e funções tierPackFrom / tagsPackFrom.
* [[Módulo:C.Skin]] — Serializa dados de skin (<code><nowiki>{{Skin}}</nowiki></code>) para JSON consumido por C.Generate.
* [[Módulo:C.Utils]] — Utilitários: trim, fileURL, normalizeDim, makeAttrString, requireCharModule, collectJsonObjects.
* [[Módulo:I]] — Fachada do sistema Info: re-exporta I.Utils, I.Skills, I.Expand.
* [[Módulo:I.Skills]] — Gera JSON de skills/skins a partir do módulo do personagem (skill, skin, forms).
* [[Módulo:I.Utils]] — Utilitários Info: trim, colorize, parseFlags, requireCharacterModule.
* [[Módulo:I.Expand]] — Expande tier/tags i18n via token (getTier, getTags, expandTier, expandTags).


  <!-- HEADER -->
=== Widgets HTML ===
  <div class="header">
* [[Widget:C.Base]] — CSS completo: layout, icon-bar, tabs, skins, responsivo, tier visual.
    <div class="char-name">'''{{{nome|}}}'''</div>
* [[Widget:C.Skills]] — JS principal: seleção de skill, vídeo, atributos, flags, forms, swap de personagens (`data-swap`, `data-only-character`, `data-character-videos`; opcional `data-default-character` no `#skills` via `character_swap_default` no módulo Lua).
    [[File:{{{art|}}}|200px|alt={{{nome|}}} artwork]]
* [[Widget:C.Background]] — JS: carrega background via IndexedDB cache + fallback URL.
    <div class="char-tier">Tier: '''{{{tier|}}}'''</div>
* [[Widget:C.Skins]] — JS: podium isométrico, tooltip, offset_x, YouTube spotlight.
    <div class="char-classes">Classes: {{{classes|}}}</div>
* [[Widget:C.Subskills]] — JS: barra aninhada de sub-habilidades, herança de atributos.
    <div class="char-info">{{{info|}}}</div>
* [[Widget:C.Translator]] — JS: troca de idioma (pt/en/es/pl), atualiza tier, tags, descs, flags, skins.
  </div>
* [[Widget:C.WeaponToggle]] — JS: toggle de arma especial, popup i18n, swap de atributos/vídeos.


  <!-- BARRA DE HABILIDADES -->
== Dependências (quem chama quem) ==
  <div class="skins-carousel-wrapper">
    <div class="skins-carousel cards-container">
      {{{hab1|}}}
      {{{hab2|}}}
      {{{hab3|}}}
      {{{hab4|}}}
    </div>
    <button class="skins-arrow left">‹</button>
    <button class="skins-arrow right">›</button>
  </div>


   <!-- CONTEÚDO DINÂMICO -->
<pre>
  <div class="description-container"></div>
Predefinição:Character
  <div class="video-container"></div>
├─ {{#invoke:C|generate}}
  └─ Módulo:C (fachada)
│      ├─ Módulo:C.Utils      ← usado por todos os módulos C.*
│      ├─ Módulo:C.i18n      ← usado por C.Generate
│      ├─ Módulo:C.Skin      ← usa C.Utils
│      └─ Módulo:C.Generate  ← usa C.Utils, C.i18n, I.Utils, I.Skills
│          ├─ Módulo:I.Skills  ← usa I.Utils, C.Utils
│          └─ Módulo:I.Utils
├─ {{#widget:C.Base}}          (CSS — sem dependências JS)
├─ {{#widget:C.Skills}}        (JS — lê data-* gerados por C.Generate)
├─ {{#widget:C.Background}}    (JS — lê data-bg-url/data-bg-file)
├─ {{#widget:C.Skins}}        (JS — lê .skins-podium gerado por C.Generate)
├─ {{#widget:C.Subskills}}    (JS — lê data-subs dos skill-icon)
├─ {{#widget:C.Translator}}    (JS — lê data-*-i18n, altera DOM)
└─ {{#widget:C.WeaponToggle}}  (JS — lê data-weapon dos skill-icon)


</div>
Módulo:I (fachada)
</onlyinclude>
├─ Módulo:I.Utils
├─ Módulo:I.Skills  ← usa I.Utils, C.Utils
└─ Módulo:I.Expand  ← usa I.Utils
</pre>
</noinclude><includeonly>{{#invoke:C|generate
|name={{{name|}}}
|module={{{module|}}}
}}{{#widget:C.Base}}{{#widget:C.Skills}}{{#widget:C.Background}}{{#widget:C.Skins}}{{#widget:C.Subskills}}{{#widget:C.Translator}}{{#widget:C.WeaponToggle}}{{#widget:TiraTitulo}}</includeonly>

Edição atual tal como às 21h20min de 2 de abril de 2026

Arquivos envolvidos

Predefinição

Módulos Lua

  • Módulo:C — Fachada: re-exporta funções de C.Utils, C.i18n, C.Skin e C.Generate.
  • Módulo:C.Generate — Gera todo o HTML server-side (header, icon-bar, skills, skins, data-attributes i18n).
  • Módulo:C.i18n — Constantes i18n (ATTR, FLAGS, TAB, TIER, TAGS) e funções tierPackFrom / tagsPackFrom.
  • Módulo:C.Skin — Serializa dados de skin ({{Skin}}) para JSON consumido por C.Generate.
  • Módulo:C.Utils — Utilitários: trim, fileURL, normalizeDim, makeAttrString, requireCharModule, collectJsonObjects.
  • Módulo:I — Fachada do sistema Info: re-exporta I.Utils, I.Skills, I.Expand.
  • Módulo:I.Skills — Gera JSON de skills/skins a partir do módulo do personagem (skill, skin, forms).
  • Módulo:I.Utils — Utilitários Info: trim, colorize, parseFlags, requireCharacterModule.
  • Módulo:I.Expand — Expande tier/tags i18n via token (getTier, getTags, expandTier, expandTags).

Widgets HTML

  • Widget:C.Base — CSS completo: layout, icon-bar, tabs, skins, responsivo, tier visual.
  • Widget:C.Skills — JS principal: seleção de skill, vídeo, atributos, flags, forms, swap de personagens (`data-swap`, `data-only-character`, `data-character-videos`; opcional `data-default-character` no `#skills` via `character_swap_default` no módulo Lua).
  • Widget:C.Background — JS: carrega background via IndexedDB cache + fallback URL.
  • Widget:C.Skins — JS: podium isométrico, tooltip, offset_x, YouTube spotlight.
  • Widget:C.Subskills — JS: barra aninhada de sub-habilidades, herança de atributos.
  • Widget:C.Translator — JS: troca de idioma (pt/en/es/pl), atualiza tier, tags, descs, flags, skins.
  • Widget:C.WeaponToggle — JS: toggle de arma especial, popup i18n, swap de atributos/vídeos.

Dependências (quem chama quem)

Predefinição:Character
 ├─ {{#invoke:C|generate}}
 │   └─ Módulo:C (fachada)
 │       ├─ Módulo:C.Utils      ← usado por todos os módulos C.*
 │       ├─ Módulo:C.i18n       ← usado por C.Generate
 │       ├─ Módulo:C.Skin       ← usa C.Utils
 │       └─ Módulo:C.Generate   ← usa C.Utils, C.i18n, I.Utils, I.Skills
 │           ├─ Módulo:I.Skills  ← usa I.Utils, C.Utils
 │           └─ Módulo:I.Utils
 ├─ {{#widget:C.Base}}          (CSS — sem dependências JS)
 ├─ {{#widget:C.Skills}}        (JS — lê data-* gerados por C.Generate)
 ├─ {{#widget:C.Background}}    (JS — lê data-bg-url/data-bg-file)
 ├─ {{#widget:C.Skins}}         (JS — lê .skins-podium gerado por C.Generate)
 ├─ {{#widget:C.Subskills}}     (JS — lê data-subs dos skill-icon)
 ├─ {{#widget:C.Translator}}    (JS — lê data-*-i18n, altera DOM)
 └─ {{#widget:C.WeaponToggle}}  (JS — lê data-weapon dos skill-icon)

Módulo:I (fachada)
 ├─ Módulo:I.Utils
 ├─ Módulo:I.Skills   ← usa I.Utils, C.Utils
 └─ Módulo:I.Expand   ← usa I.Utils