UI/OMRHUDPreview.razor
@using System;
@using Sandbox;
@using Sandbox.UI;
@inherits Panel
<root class="hud-developer-preview">
@if (
Mode == OMRHUDPreviewMode.Sandbox ||
Mode == OMRHUDPreviewMode.Warmup
)
{
<div class="combat-health sandbox-health">
<div class="health-side local">
<div class="health-heading">
<label class="health-label">YOU</label>
<label class="health-number">132/180</label>
</div>
<div class="health-track">
<div class="health-track-chrome"></div>
<div class="health-fill" style="width: 73%"></div>
</div>
</div>
@if ( Mode == OMRHUDPreviewMode.Sandbox )
{
<div class="health-side opponent">
<div class="health-heading">
<label class="health-label">OPPONENT</label>
<label class="health-number">74/180</label>
</div>
<div class="health-track">
<div class="health-track-chrome"></div>
<div class="health-fill" style="width: 41%"></div>
</div>
</div>
}
</div>
<div class="sandbox-label @(Mode == OMRHUDPreviewMode.Warmup ? "warmup-label" : "")">
<div class="sandbox-label-chrome"></div>
<label class="sandbox-title">
@(Mode == OMRHUDPreviewMode.Warmup ? "WARMUP" : "SANDBOX")
</label>
<label class="sandbox-status">
@(Mode == OMRHUDPreviewMode.Warmup ? "USP" : "TEAM A · 2 PLAYERS")
</label>
<label class="sandbox-hint">
@(Mode == OMRHUDPreviewMode.Warmup ? "ESC - RETURN TO LOBBY" : "ESC - TEST MENU")
</label>
</div>
}
else
{
<div class="combat-health">
<div class="health-side local">
<div class="health-heading">
<label class="health-label">YOU</label>
<label class="health-number">132/180</label>
</div>
<div class="health-track">
<div class="health-track-chrome"></div>
<div class="health-fill" style="width: 73%"></div>
</div>
</div>
<div class="health-side opponent">
<div class="health-heading">
<label class="health-label">OPPONENT</label>
<label class="health-number">74/180</label>
</div>
<div class="health-track">
<div class="health-track-chrome"></div>
<div class="health-fill" style="width: 41%"></div>
</div>
</div>
</div>
<div class="match-header">
<label class="round">ROUND 3</label>
@if ( Mode == OMRHUDPreviewMode.SuddenDeath )
{
<div class="round-timer sudden">
<div class="round-timer-chrome"></div>
<label class="timer-mode">SUDDEN DEATH</label>
<label class="timer-number">8</label>
<label class="timer-note">ONE SHOT</label>
</div>
}
else
{
<div class="round-timer">
<div class="round-timer-chrome"></div>
<label class="timer-number">37</label>
</div>
}
<label class="score-label">BANKED · FIRST TO 7</label>
<div class="score">
<div class="player">
<label class="score-player-label">LUCIFERFINCH</label>
<label class="score-number">2</label>
</div>
<label class="separator">-</label>
<div class="player">
<label class="score-player-label">RIVALPLAYER</label>
<label class="score-number">1</label>
</div>
</div>
<div class="pot-display">
<div class="pot-display-chrome"></div>
<label class="pot-owner">LUCIFERFINCH</label>
<label class="pot-value">UNBANKED 3</label>
</div>
<label class="modifier-label">LOW GRAVITY</label>
</div>
@if (
Mode == OMRHUDPreviewMode.Combat ||
Mode == OMRHUDPreviewMode.SuddenDeath
)
{
<label class="center-message">
@(Mode == OMRHUDPreviewMode.SuddenDeath ? "SUDDEN DEATH" : "FIGHT!")
</label>
}
@if ( Mode == OMRHUDPreviewMode.WinnerDecision )
{
<div class="decision-screen">
<div class="decision-screen-overlay"></div>
<div class="decision-panel">
<div class="decision-panel-chrome"></div>
<label class="decision-eyebrow">YOU WON THE ROUND</label>
<label class="decision-title">BANK OR RISK IT?</label>
<div class="decision-stakes">
<div class="decision-stat banked">
<label class="decision-stat-label">BANKED SCORE</label>
<label class="decision-stat-value">2 / 7</label>
<label class="decision-stat-note">POINTS SECURED</label>
</div>
<div class="decision-stat pot">
<label class="decision-stat-label">UNBANKED POT</label>
<label class="decision-stat-value">3</label>
<label class="decision-stat-note">POINTS AT STAKE</label>
</div>
</div>
<div class="decision-clock">
<label class="decision-timer">8</label>
<label class="decision-timeout-hint">NO INPUT = AUTO BANK</label>
</div>
<div class="decision-buttons">
<div class="decision-button safe">
<label class="decision-button-title">BANK +3</label>
<label class="decision-button-subtitle">SECURE 3 POINTS NOW</label>
<div class="decision-outcome safe-outcome">
<label class="decision-outcome-label">RESULTING BANKED SCORE</label>
<label class="decision-outcome-value">5 / 7</label>
</div>
</div>
<div class="decision-button risk">
<label class="decision-button-title">ONE MORE ROUND</label>
<label class="decision-button-subtitle">RISK 3 POINTS</label>
<div class="decision-risk-results">
<div class="decision-risk-result win">
<label class="decision-outcome-label">IF YOU WIN</label>
<label class="decision-outcome-value">POT → 5</label>
</div>
<div class="decision-risk-result lose">
<label class="decision-outcome-label">IF YOU LOSE</label>
<label class="decision-outcome-value">POT → 0</label>
</div>
</div>
<label class="decision-draw-note">DRAW → POT STAYS 3</label>
</div>
</div>
<div class="risk-preview">
<label class="risk-preview-title">IF YOU RISK, YOUR OPPONENT CHOOSES ONE</label>
<div class="risk-preview-options">
<div class="risk-preview-option">
<label class="risk-preview-name">LOW GRAVITY</label>
<label class="risk-preview-description">Reduced gravity with a competitive weapon.</label>
<label class="risk-preview-weapon">WEAPON: RANDOM COMPETITIVE WEAPON</label>
</div>
<div class="risk-preview-option">
<label class="risk-preview-name">HEADSHOT ONLY</label>
<label class="risk-preview-description">Only headshots deal weapon damage.</label>
<label class="risk-preview-weapon">WEAPON: USP / M700</label>
</div>
</div>
</div>
</div>
</div>
}
else if ( Mode == OMRHUDPreviewMode.ModifierDecision )
{
<div class="decision-screen">
<div class="decision-screen-overlay"></div>
<div class="decision-panel">
<div class="decision-panel-chrome"></div>
<label class="decision-eyebrow">OPPONENT CHOSE ONE MORE ROUND</label>
<label class="decision-title">YOU CHOOSE THE CONDITIONS</label>
<label class="decision-pot">THEIR UNBANKED POT: 3</label>
<label class="decision-timer">8</label>
<div class="decision-buttons">
<div class="decision-button modifier">
<label class="decision-button-title">HIGH NOON</label>
<label class="decision-button-description">Open arena. No cover.</label>
</div>
<div class="decision-button modifier">
<label class="decision-button-title">LOW GRAVITY</label>
<label class="decision-button-description">Reduced gravity with a competitive weapon.</label>
</div>
</div>
</div>
</div>
}
else if ( Mode == OMRHUDPreviewMode.MatchEnd )
{
<div class="decision-screen">
<div class="decision-screen-overlay"></div>
<div class="decision-panel match-end">
<div class="decision-panel-chrome"></div>
<label class="decision-eyebrow">MATCH OVER</label>
<label class="decision-title">LUCIFERFINCH WINS</label>
<label class="final-score">7 - 5</label>
<div class="decision-button return-button">
<label class="decision-button-title">RETURN TO MENU</label>
</div>
</div>
</div>
}
}
<div class="ammo-hud">
<div class="ammo-hud-chrome"></div>
<label class="ammo-weapon">USP</label>
<div class="ammo-count">
<label class="ammo-current">8</label>
<label class="ammo-divider">/</label>
<label class="ammo-capacity">12</label>
</div>
</div>
</root>
@code
{
public OMRHUDPreviewMode Mode { get; set; } =
OMRHUDPreviewMode.Combat;
protected override int BuildHash() =>
HashCode.Combine( Mode );
}