← Easy UI

Komponenten-Referenz

Alle rund 39 Komponenten von Easy UI, nach Bereich gruppiert – mit Tag, wichtigen Attributen und einem UXML-Beispiel. Maßgeblich ist immer das Manifest (Assets/EasyUI/AI/easyui.manifest.json); erfinde keine Klassen oder Attribute, die dort nicht stehen.

i

Jede Komponente ist in UXML und C# autorierbar. Enum-Werte werden als Member-Name geschrieben (z. B. variant="Primary"). Manche Komponenten brauchen ein zusätzliches Stylesheet – siehe Stylesheets.

Layout & Container

TagZweckWichtige Attribute
EuiRootToken-Host & oberstes Element jeder Hierarchie; setzt Breakpoint-Klassen.breakpoint-small, breakpoint-medium, auto-focus
EuiPanelGestylte Fläche / Container.
EuiCardKarte mit optionalem Titel-Header; Kinder gehen in den Content.title
EuiModalAbgedunkelter Backdrop mit zentrierter Karte.title, open, close-on-backdrop
EuiAccordionItemAufklappbarer Bereich mit Header.title, expanded
EuiScrollViewGestylte Scroll-Ansicht (feste Höhe geben).
EuiSafeAreaSetzt Content um die Geräte-Safe-Area ein (Notches). HUD hier einwickeln.

Buttons & Eingaben

TagZweckWichtige Attribute
EuiButtonButton in 4 Varianten, 3 Größen.text, variant (Primary/Secondary/Ghost/Danger), size (Small/Medium/Large)
EuiToggleSchalter (INotifyValueChanged<bool>).label, value
EuiSliderWerteschieber.low-value, high-value, value
EuiStepperNumerischer +/- Stepper.value, min, max, step
EuiTextFieldTextfeld mit Label.label, value
EuiDropdownAuswahl-Dropdown.label, options (CSV)
EuiRatingStarsSterne-Bewertung.value, max
EuiSegmentedControlSegment-Umschalter.items (CSV), value (Index)
EuiColorPickerFarbfeld-Auswahl aus Swatches.colors (CSV Hex), value (Index)
Beispiel
<eui:EuiButton text="Play" variant="Primary" size="Large" />
<eui:EuiDropdown label="Quality" options="Low, Medium, High" />
<eui:EuiSegmentedControl items="Day,Week,Month" value="1" />

Feedback & Status

TagZweckWichtige Attribute
EuiProgressBarBalken mit Farb-Rolle (z. B. rote HP, blaue Mana).value (0..1), label, tone (Primary/Danger/Success/Warning/Info)
EuiToastHinweis-Banner; zur Laufzeit via EuiToast.Show(root, msg, tone).text, tone (Info/Success/Warning/Danger)
EuiSpinnerRotierender Ladespinner (Painter2D).thickness, fill-token
EuiChipTag/Chip mit optionalem Entfernen-Button.text, closable, tone
EuiBadgeKleines Status-Label.text, tone (Primary/Danger/Muted/Success/Warning/Info)
EuiSkeletonLade-Platzhalter.lines, avatar
EuiAvatarRunder Avatar mit Initialen.initials
TagZweckWichtige Attribute
EuiTabsReiter (INotifyValueChanged<int>).tabs (CSV), value
EuiBreadcrumbPfad-Navigation.items (CSV), separator
EuiPaginationSeiten-Blätterung.pages, value (1-basiert)
EuiDataTable / EuiDataRowTabelle; Zeilen als Kinder, Spalten teilen Breite.Table: columns (CSV) · Row: cells (CSV)
EuiCalendarMonatskalender mit Auswahl.month, days, start, today, value
Beispiel
<eui:EuiDataTable columns="Name,Level,Gold">
  <eui:EuiDataRow cells="Nova,42,1240" />
  <eui:EuiDataRow cells="Rok,37,860" />
</eui:EuiDataTable>

Game-UI

TagZweckWichtige Attribute
EuiDialogueBoxDialogbox mit Sprecher, Text, Portrait, Weiter-Hinweis.speaker, text, hint, show-portrait
EuiCurrencyWährungsanzeige mit Icon.icon, amount, tone (Gold/Gem/Neutral)
EuiLeaderboard / EuiLeaderboardRowBestenliste; Zeilen als Kinder.Row: rank, player, score, highlight
EuiAbilityButtonFähigkeiten-Slot mit Hotkey & Cooldown-Wisch.icon, hotkey, cooldown (0..1), cooldown-text
EuiQuestLog / EuiQuestEntryQuestliste; Einträge als Kinder.Entry: title, objective, progress, done
EuiItemSlotInventar-/Hotbar-Slot (Icon via background-image).icon, count, selected
Beispiel
<eui:EuiDialogueBox speaker="Nova" text="We shouldn't be here."
  hint="Space" show-portrait="true" />
<eui:EuiAbilityButton icon="🔥" hotkey="Q" cooldown="0.4" cooldown-text="3" />

Game-Controls

TagZweckWichtige Attribute
EuiJoystickVirtueller Touch-Joystick; value normalisiert (-1..1, y-up).return-to-center
EuiDPadVier-Wege-Steuerkreuz; value = gedrückte Richtung.
EuiRadialProgressKreisring für Cooldowns/Timer (Painter2D).value (0..1), thickness, fill-token
EuiRadialMenuRadialmenü / Weapon-Wheel (Painter2D).items (CSV), value, fill-token

Shapes & Text

EuiShape zeichnet gestochene Panels, Ringe und Badges prozedural (Painter2D) – ohne Sprite-Import. Sie hat keine intrinsische Größe: immer width/height setzen. Für theme-treue Farben fill-token/border-token/shadow-token statt Literalfarben nutzen (braucht einen EuiRoot-Vorfahren).

TagZweckWichtige Attribute
EuiShapeProzedurale Fläche mit Gradient, Rand, weichem Schatten.fill-token, corner-radius, use-gradient, gradient-angle, border-width, shadow-*
EuiLocalizedLabelLabel, dessen Text aus einem Localization-Key kommt.key
Beispiel
<eui:EuiShape style="width:170px; height:110px;" fill-token="primary" corner-radius="20" />

Stylesheets

Immer geladen: EasyUI.Tokens.uss, EasyUI.Core.uss, EasyUI.Button.uss, EasyUI.Controls.uss. Zusätzlich je nach Komponente:

StylesheetBenötigt für
EasyUI.GameControls.ussEuiJoystick, EuiRadialProgress, EuiTabs, EuiRadialMenu
EasyUI.Widgets.ussEuiModal, EuiDPad, EuiBadge
EasyUI.Content.ussEuiItemSlot, EuiScrollView, .eui-grid/.eui-row
EasyUI.Feedback.ussEuiToast, EuiSpinner, EuiChip, EuiAvatar
EasyUI.GameUI.ussEuiDialogueBox, EuiCurrency, EuiLeaderboard, EuiAbilityButton, EuiQuestLog
EasyUI.General.ussEuiSegmentedControl, EuiBreadcrumb, EuiPagination, EuiSkeleton, EuiDataTable, EuiCalendar, EuiColorPicker
EasyUI.Anchors / .Responsive / .Focus / .StatesAnker-, Responsive-, Fokus- und Zustands-Hilfsklassen

Der Screen-Wizard und die UxmlWriter-Hilfen binden die passenden ComponentSheets automatisch ein – beim manuellen Aufbau die Liste oben beachten.