Skip to content
Version 2.11.0
↓ Get the launcher

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 MeterRowData
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.