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

De Wiki Gla
Ir para navegação Ir para pesquisar
m
m
 
(27 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
<includeonly>
<noinclude>
{{#invoke:Character|generate
<!-- Predefinição:Character — Documentação de Arquitetura -->
|nome      = {{{nome|}}}
== Arquivos envolvidos ==
|avatar    = {{{avatar|}}}
|background = {{{background|}}}
|banner    = {{{banner|}}}
|desc      = {{{desc|}}}


|tier  = {{#invoke:Info|expandTier|{{{tier|}}}|{{{nome|}}}}}
=== Predefinição ===
|classe = {{#invoke:Info|expandTags|{{{classe|}}}|{{{nome|}}}}}
* [[Predefinição:Character]] — Ponto de entrada. Invoca <code><nowiki>{{#invoke:C|generate}}</nowiki></code> e carrega todos os widgets.


  |skills     = {{{skills|}}}
=== Módulos Lua ===
|skins      = {{{skins|}}}
* [[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).
{{#widget:Character}}
* [[Módulo:C.i18n]] — Constantes i18n (ATTR, FLAGS, TAB, TIER, TAGS) e funções tierPackFrom / tagsPackFrom.
{{#widget:TiraTitulo}}
* [[Módulo:C.Skin]] — Serializa dados de skin (<code><nowiki>{{Skin}}</nowiki></code>) para JSON consumido por C.Generate.
</includeonly>
* [[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) ==
 
<pre>
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
</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