MeterRowData structure
All data one CombatMeter row needs to paint, in framework-neutral types (no UnityEngine). The plugin computes this from its services each refresh; the framework’s BuildMeterRow reproduces the bespoke borderless meter row (HP spine, class crest, name·spec·share line, role-coloured metric bar with the per-second/total overlay, self highlight, offline scrim). A plain field struct (no big constructor) so it stays clear of the analyzer’s parameter/ctor-dependency caps and mirrors the plugin’s former MeterRowVisual.
public struct MeterRowDataPublic Members
Section titled “Public Members”| name | description |
|---|---|
| AbilityScore | Ability/combat score text shown as a gold pill after the spec. Empty string when the value is unavailable. |
| BarFraction | Metric bar fill fraction in [0..1] normalised to the top-row value. |
| BarShieldFraction | Shield overlay fraction in [0..1] for the MAIN horizontal bar, drawn as a grey/white band OVER the fill from the bar’s left edge — the horizontal analogue of HpShieldFraction on the spine (shield / maxHp, already clamped by the plugin to BarFraction). Only meaningful when the main bar is in HP mode; the plugin passes 0 in DPS mode, so the bar renders byte-identical to pre-shield behaviour. Additive field — a plugin built before it existed leaves it 0. |
| ClassName | Optional base-class line (e.g. “Frost Mage”); shown between name and spec when ShowClassName. |
| CrestTexture | Opaque icon handle; MUST be a UnityEngine.Texture2D. Passed through to the uGUI image binding; a non-Texture2D silently renders nothing. |
| CrestTint | Tint multiplier for the class crest image. default (alpha 0) means no tint (white). Used e.g. to colour the crest by team-voice mic status: red=muted, blue=speaker, green=talking. |
| CrestUv | Atlas sub-rect for the class crest icon (normalised UV, bottom-left origin). |
| Dead | True when this entity is dead (HP known and zero) — drives the dead treatment. |
| Debuff0 | Debuff cells for the trailing 2×2 block (top-left, top-right, bottom-left, bottom-right). None when empty. Hidden unless ShowDebuffs. |
| Debuff1 | Second debuff cell. See Debuff0. |
| Debuff10 | See Debuff8. |
| Debuff11 | See Debuff8. |
| Debuff2 | Third debuff cell. See Debuff0. |
| Debuff3 | Fourth debuff cell. When DebuffOverflow > 0 the LAST visible cell renders a “+N” count instead of an icon. |
| Debuff4 | Fifth..eighth cells, used only when DebuffColumns > 2 (a wider block). See Debuff0. |
| Debuff5 | See Debuff4. |
| Debuff6 | See Debuff4. |
| Debuff7 | See Debuff4. |
| Debuff8 | Ninth..twelfth cells, used only when DebuffColumns > 4. See Debuff4. |
| Debuff9 | See Debuff8. |
| DebuffCellSize | Debuff cell edge in px (each of the 2×2 cells). 0 = the renderer default (20px). Larger values grow the block AND the row height so the bigger icons fit — a per-mode user option. |
| DebuffColumns | Number of COLUMNS in the status-effect block (block is 2 rows tall). 0 or 2 = the default 2×2 (4 cells); 3 = 6 cells; 4 = 8; 5 = 10; 6 = 12. A per-mode user option — wider rows (party-5) can show more. More columns widen the block (narrowing the metric bar) but never change the row HEIGHT. |
| DebuffOverflow | When > 0, the member has more effects than the visible cells hold and the LAST cell shows “+N” (N = this value). 0 = no overflow. |
| HpColor | HP spine fill colour (green/yellow/red by health fraction). |
| HpFraction | HP fraction in [0..1] used for the vertical HP spine height. |
| HpShieldFraction | Shield overlay fraction in [0..1], drawn as a grey/white band OVER the green HP fill from the bottom of the vertical spine (shield / maxHp, already clamped by the plugin to HpFraction). 0 (the default) hides the overlay, so a spine renders byte-identical to pre-shield behaviour. Only meaningful when the spine is in HP mode; the plugin passes 0 in DPS/Off spine modes. Additive field — a plugin built before it existed leaves it 0. |
| Id | Entity this row represents; default for an empty raid slot. Used by drag-to-rearrange. |
| Imagine0 | First equipped Battle Imagine (left trailing icon). None when absent. |
| Imagine1 | Second equipped Battle Imagine (right trailing icon). None when absent. |
| ImaginePosition | Battle-Imagine cluster placement. |
| ImagineSize | Battle-Imagine icon size. |
| IsLeader | True when this row represents the party leader — draws a small flag marker before the name. |
| IsSelf | True when this row represents the local player — draws the self-highlight tint. |
| LabelStyle | How the two values drawn ON the metric bar (per-second left, total right) are kept readable over the bar fill — relevant when the fill is a bright class colour. default = Plain (the pre-2.8 look), so plugins built before this field existed render unchanged. |
| Name | Character display name (e.g. “Momoko”). |
| NameColor | Optional override for the name-text colour (e.g. a ready-check vote: blue=pending, green=ready, red=declined). When alpha is 0 (the default) the row uses the framework’s standard name colour. The Dead treatment still takes precedence. |
| Offline | True when this party member is offline — draws a dimmed scrim over the row. |
| OnDebuffClick | Optional click handler for a debuff cell in the trailing 2×2 block. When set, each cell becomes clickable and the framework routes a left-click here with (Id, cellIndex 0..3) — the plugin maps the index to the debuff (and treats the overflow “+N” cell as “show all”). Null (the default) leaves the cells display-only, byte-identical to a plugin built before this field existed. Wired once at build, so a stable (cached) delegate here allocates nothing per refresh. |
| OnVoiceIconClick | Optional click handler for the voice-status icon cell. When set (non-null) the 14×14 voice cell becomes clickable — the framework enables the cell’s raycast target and routes a click here (e.g. the local player clicking their own row’s voice icon to cycle Speak → Listen → Mute). When null (the default) the cell is display-only and renders byte-identical to a plugin built before this field existed. Only fires while ShowVoiceIcon shows the cell. |
| PrimaryValue | Primary metric string drawn on the left of the bar (e.g. per-second DPS). |
| Rank | Rank label rendered before the leader flag (e.g. “1.”). |
| RoleColor | Role-colour fill for the metric bar (DPS=red, Tank=blue, Healer=green). |
| RowBorder | Optional colored box border around the whole row (e.g. green while a member is talking). default (alpha 0) = no border. |
| SecondaryValue | Secondary metric string drawn on the right of the bar (e.g. total damage). |
| SelfAccent | Self-row highlight colour (background tint + a brighter border), used only when IsSelf. Supplied by the meter so the highlight is a configurable colour slot rather than a fixed framework teal. |
| SharePercent | Share-of-total percentage string (e.g. “14%”). |
| ShowAbilityScore | When true the ability-score pill is shown (off until the wire field exists). |
| ShowClassName | When true the optional class-name line is shown. |
| ShowCrest | When false the class crest cell is hidden (and reclaims its width). |
| ShowDebuffs | When true the trailing 2×2 debuff block is shown (per-mode user toggle). Default false so plugins built before this field render unchanged. |
| ShowHpBar | When false the HP spine is hidden. |
| ShowImagine | When false the whole Battle-Imagine cluster is hidden. |
| ShowImagineCooldown | When false the cooldown-seconds label beside the Imagine icon is hidden (the radial sweep on the icon stays). User toggle; also suppressed automatically at raid-20 density. |
| ShowLeaderFlag | When false the leader flag marker is hidden even for the leader. |
| ShowPrimary | When false the per-second (primary) value overlay is hidden. |
| ShowRank | When false the rank label is hidden. |
| ShowSecondary | Width-driven collapse flag: when false the secondary metric value is hidden. |
| ShowShare | Width-driven collapse flag: when false the share-percent label is hidden. |
| ShowSpec | Width-driven collapse flag: when false the Spec label is hidden to save horizontal space. |
| ShowVoiceIcon | When true the VoiceIcon cell is shown (user toggle). |
| Spec | Sub-profession label; may be empty when the spec is unknown or hidden. |
| SpineWidth | Width of the vertical spine bar in pixels. 0 = use the renderer default (3 px). |
| VoiceIcon | Optional small status icon shown on the name line (e.g. team-voice mic/headphone/muted). MUST be a UnityEngine.Texture2D; a non-Texture2D renders nothing. Hidden unless ShowVoiceIcon. |
| VoiceIconTint | Tint for VoiceIcon (e.g. green while talking). default (alpha 0) = white. |
See Also
Section titled “See Also”- namespace Stellar.Abstractions.Services