UI/Tutorials/TutorialHint.razor
@inherits PanelComponent
@namespace Opium
<root>
<div class="overlay @OverlayClass" />
@if ( string.IsNullOrEmpty( Message ) )
{
return;
}
@if ( TimeUntilRemoval )
{
return;
}
<div class="entry">
@if ( !string.IsNullOrEmpty( InputAction ) )
{
<div class="input">
<label>PRESS</label>
<label>@Input.GetButtonOrigin( InputAction ).ToUpperInvariant()</label>
</div>
}
<label class="small">@Message</label>
</div>
</root>
@code
{
public string InputAction { get; set; } = null;
public string Message { get; set; } = null;
public bool Freeze { get; set; } = false;
public TimeUntil TimeUntilRemoval { get; set; }
public string OverlayClass => Freeze ? "active" : "";
protected override void OnUpdate()
{
SetClass( "freeze", Freeze );
if ( Freeze && Input.Pressed( InputAction ) )
{
Dismiss();
}
}
protected override int BuildHash()
{
return HashCode.Combine( RealTime.Now );
}
}