throwmode for pin param

This commit is contained in:
beo3000 2026-02-08 16:39:26 +01:00
parent d2a276e703
commit 37b39f6d52
3 changed files with 23 additions and 10 deletions

View File

@ -37,6 +37,7 @@
@* Pin input area *@ @* Pin input area *@
<div class="pin-input-section"> <div class="pin-input-section">
<PinPanel ThrowPanelState="@GameState.Value.ThrowPanelAfter" <PinPanel ThrowPanelState="@GameState.Value.ThrowPanelAfter"
ThrowMode="@GameState.Value.ThrowPanelAfter.ThrowMode"
IsInteractive="@IsInteractive" IsInteractive="@IsInteractive"
OnPinClicked="HandlePinClick" /> OnPinClicked="HandlePinClick" />
</div> </div>

View File

@ -1,7 +1,7 @@
@using GoodWood.Domain.Enums @using GoodWood.Domain.Enums
<div class="pin @GetPinClass()" @onclick="OnClick" style="@GetStyle()"> <div class="pin @GetPinClass()" @onclick="OnClick" style="@GetStyle()">
<span class="pin-number"></span> <span class="pin-number">@(ThrowMode == ThrowMode.Decrease ? "" : PinNumber)</span>
</div> </div>
<style> <style>
@ -74,6 +74,12 @@
[Parameter] [Parameter]
public PinStatus Status { get; set; } = PinStatus.Standing; public PinStatus Status { get; set; } = PinStatus.Standing;
/// <summary>
/// Current throw mode (affects display).
/// </summary>
[Parameter]
public ThrowMode ThrowMode { get; set; }
/// <summary> /// <summary>
/// Whether the pin is interactive. /// Whether the pin is interactive.
/// </summary> /// </summary>

View File

@ -4,31 +4,31 @@
<div class="pin-panel"> <div class="pin-panel">
@* Row 1: Pin 1 (top) *@ @* Row 1: Pin 1 (top) *@
<div class="pin-row pin-row-1"> <div class="pin-row pin-row-1">
<Pin PinNumber="1" Status="@GetPinStatus(1)" IsInteractive="@IsInteractive" OnPinClicked="HandlePinClick" /> <Pin PinNumber="1" Status="@GetPinStatus(1)" IsInteractive="@IsInteractive" ThrowMode="@ThrowMode" OnPinClicked="HandlePinClick" />
</div> </div>
@* Row 2: Pins 2, 3 *@ @* Row 2: Pins 2, 3 *@
<div class="pin-row pin-row-2"> <div class="pin-row pin-row-2">
<Pin PinNumber="2" Status="@GetPinStatus(2)" IsInteractive="@IsInteractive" OnPinClicked="HandlePinClick" /> <Pin PinNumber="2" Status="@GetPinStatus(2)" IsInteractive="@IsInteractive" ThrowMode="@ThrowMode" OnPinClicked="HandlePinClick" />
<Pin PinNumber="3" Status="@GetPinStatus(3)" IsInteractive="@IsInteractive" OnPinClicked="HandlePinClick" /> <Pin PinNumber="3" Status="@GetPinStatus(3)" IsInteractive="@IsInteractive" ThrowMode="@ThrowMode" OnPinClicked="HandlePinClick" />
</div> </div>
@* Row 3: Pins 4, 5, 6 *@ @* Row 3: Pins 4, 5, 6 *@
<div class="pin-row pin-row-3"> <div class="pin-row pin-row-3">
<Pin PinNumber="4" Status="@GetPinStatus(4)" IsInteractive="@IsInteractive" OnPinClicked="HandlePinClick" /> <Pin PinNumber="4" Status="@GetPinStatus(4)" IsInteractive="@IsInteractive" ThrowMode="@ThrowMode" OnPinClicked="HandlePinClick" />
<Pin PinNumber="5" Status="@GetPinStatus(5)" IsInteractive="@IsInteractive" OnPinClicked="HandlePinClick" /> <Pin PinNumber="5" Status="@GetPinStatus(5)" IsInteractive="@IsInteractive" ThrowMode="@ThrowMode" OnPinClicked="HandlePinClick" />
<Pin PinNumber="6" Status="@GetPinStatus(6)" IsInteractive="@IsInteractive" OnPinClicked="HandlePinClick" /> <Pin PinNumber="6" Status="@GetPinStatus(6)" IsInteractive="@IsInteractive" ThrowMode="@ThrowMode" OnPinClicked="HandlePinClick" />
</div> </div>
@* Row 4: Pins 7, 8 *@ @* Row 4: Pins 7, 8 *@
<div class="pin-row pin-row-4"> <div class="pin-row pin-row-4">
<Pin PinNumber="7" Status="@GetPinStatus(7)" IsInteractive="@IsInteractive" OnPinClicked="HandlePinClick" /> <Pin PinNumber="7" Status="@GetPinStatus(7)" IsInteractive="@IsInteractive" ThrowMode="@ThrowMode" OnPinClicked="HandlePinClick" />
<Pin PinNumber="8" Status="@GetPinStatus(8)" IsInteractive="@IsInteractive" OnPinClicked="HandlePinClick" /> <Pin PinNumber="8" Status="@GetPinStatus(8)" IsInteractive="@IsInteractive" ThrowMode="@ThrowMode" OnPinClicked="HandlePinClick" />
</div> </div>
@* Row 5: Pin 9 (bottom) *@ @* Row 5: Pin 9 (bottom) *@
<div class="pin-row pin-row-5"> <div class="pin-row pin-row-5">
<Pin PinNumber="9" Status="@GetPinStatus(9)" IsInteractive="@IsInteractive" OnPinClicked="HandlePinClick" /> <Pin PinNumber="9" Status="@GetPinStatus(9)" IsInteractive="@IsInteractive" ThrowMode="@ThrowMode" OnPinClicked="HandlePinClick" />
</div> </div>
</div> </div>
@ -96,6 +96,12 @@
[Parameter] [Parameter]
public ThrowPanelState ThrowPanelState { get; set; } = ThrowPanelState.Initial; public ThrowPanelState ThrowPanelState { get; set; } = ThrowPanelState.Initial;
/// <summary>
/// Current throw mode (affects pin display).
/// </summary>
[Parameter]
public ThrowMode ThrowMode { get; set; }
/// <summary> /// <summary>
/// Whether the pins are interactive (clickable). /// Whether the pins are interactive (clickable).
/// </summary> /// </summary>