Skip to main content

gum-forms

FRB Gum Forms codegen and how Forms controls take cursor input. Triggers: XxxForms.Generated.cs, FormsClassCodeGenerator, UserControl, Cursor.WindowOver, clicks eaten by Gum UI.

Informações da origem

Repositório
vchelaru/FlatRedBall
Última atividade na origem
27 de setembro de 2026 às 12:07
Idioma detectado do SKILL.md
inglês
Estrelas
578
Forks
73

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
gum-forms
description
FRB Gum Forms codegen and how Forms controls take cursor input. Triggers: XxxForms.Generated.cs, FormsClassCodeGenerator, UserControl, Cursor.WindowOver, clicks eaten by Gum UI.
# Gum Forms (FRB1) FRB's Gum codegen makes two classes for each Gum element: a Visual runtime (`GumRuntimes\XxxRuntime.Generated.cs`) and a Forms class (`Forms\...\XxxForms.Generated.cs`). A Gum screen paired with an FRB screen gets both. MonoGameGum and FRB2 merged the two, so don't carry this split over from them. See [[gum-integration]] for the rest of the Gum plugin. ## Where it lives | Piece | Location | |---|---| | Forms class per element | `FRBDK\Glue\GumPlugin\GumPlugin\CodeGeneration\FormsClassCodeGenerator.cs` | | Forms instance on an FRB screen | `FormsObjectCodeGenerator.cs` (same folder) | | Forms controls (Button, UserControl...) | `Engines\Forms\FlatRedBall.Forms\FlatRedBall.Forms.Shared\Controls\` | ## Landmines - **Every Gum component is a Forms control.** `FormsClassCodeGenerator` makes each component's Forms class inherit `FlatRedBall.Forms.Controls.UserControl`, including plain layout panels. So "is this a Forms control?" says nothing about whether it's interactive. - **Gum UI under the cursor blocks world selection in live edit only when the Game tab's "Gum Interaction" checkbox is on** (`GumCursorLogic.ShouldGumBlockWorldSelection`). Gum controls still receive the click either way. See [[glue-live-edit]].
Ver no GitHub