diff --git a/KoogleApp/Components/Controls/NumberPanel.razor b/KoogleApp/Components/Controls/NumberPanel.razor
index 8653108..32a96f0 100644
--- a/KoogleApp/Components/Controls/NumberPanel.razor
+++ b/KoogleApp/Components/Controls/NumberPanel.razor
@@ -37,7 +37,7 @@
- @if (ShowNumbers)
+ @if (ThrowPanelState.Value.ThrowMode == ThrowMode.Reposition)
{
@@ -136,13 +136,6 @@
@code {
-
- [Parameter]
- public bool ShowNumbers
- {
- get;
- set;
- }
[Parameter]
public bool CanSelectPlayer
diff --git a/KoogleApp/Components/Controls/NumberPinPanel.razor b/KoogleApp/Components/Controls/NumberPinPanel.razor
index 9cb9909..69bca8f 100644
--- a/KoogleApp/Components/Controls/NumberPinPanel.razor
+++ b/KoogleApp/Components/Controls/NumberPinPanel.razor
@@ -4,46 +4,15 @@
-
+
-
+
@code {
- // [Parameter]
- // public ThrowPanelState? ThrowPanelState { get; set; }
-
-
-
- PinPanel _pinPanel;
- NumberPanel _numberPanel;
-
- [Parameter]
- public bool ShowNumbers
- {
- get;
- set;
- }
-
- [Parameter]
- public bool CanSelectPlayers
- {
- get;
- set;
- }
-
- // public void UpdatePanelState(ThrowPanelState state)
- // {
- // _pinPanel.UpdatePanelState(state);
-
- // }
-
+
}
diff --git a/KoogleApp/Components/Controls/ThrowPanel.razor b/KoogleApp/Components/Controls/ThrowPanel.razor
index b409822..72622d5 100644
--- a/KoogleApp/Components/Controls/ThrowPanel.razor
+++ b/KoogleApp/Components/Controls/ThrowPanel.razor
@@ -10,11 +10,7 @@
@if (ThrowPanelState.Value.IsStated)
{
-
-
-
+
diff --git a/KoogleApp/Components/Dialogs/StartGameDialog.razor b/KoogleApp/Components/Dialogs/StartGameDialog.razor
index 230adf6..ea17341 100644
--- a/KoogleApp/Components/Dialogs/StartGameDialog.razor
+++ b/KoogleApp/Components/Dialogs/StartGameDialog.razor
@@ -9,9 +9,12 @@
-
- in die Vollen
- Abräumen
+
+ @foreach (var item in _items)
+ {
+ @item.Item1
+ }
@@ -21,10 +24,25 @@
@code {
+ private List> _items = new List>();
+
+ protected override void OnAfterRender(bool firstRender)
+ {
+ if (firstRender)
+ {
+ _items.Add(new Tuple("in die Vollen", ThrowMode.Reposition));
+ _items.Add(new Tuple("Abräumen", ThrowMode.Decrease));
+
+ _valueThrowMode = _items[0];
+ StateHasChanged();
+ }
+ }
+
[CascadingParameter]
private IMudDialogInstance MudDialog { get; set; }
- public ThrowMode ThrowMode { get; set; } = ThrowMode.Reposition;
+ // [Parameter]
+ private Tuple _valueThrowMode;
[Parameter]
public string Description { get; set; } = "";
@@ -36,7 +54,21 @@
// if (!string.IsNullOrEmpty(Description))
{
// Snackbar.Add("Favorite added", Severity.Success);
- MudDialog.Close(DialogResult.Ok(ThrowMode));
+ MudDialog.Close(DialogResult.Ok(new StartParams(_valueThrowMode.Item2, 3)));
}
}
+
+ private string ValueToString(ThrowMode item)
+ {
+ switch (item)
+ {
+ case ThrowMode.Reposition:
+ return "Abräumen";
+ case ThrowMode.Decrease:
+ return "in die Vollen";
+ default:
+ throw new ArgumentOutOfRangeException(nameof(item), item, null);
+ }
+ }
+
}
diff --git a/KoogleApp/Components/Pages/Game.razor b/KoogleApp/Components/Pages/Game.razor
index 79d0291..9742dc3 100644
--- a/KoogleApp/Components/Pages/Game.razor
+++ b/KoogleApp/Components/Pages/Game.razor
@@ -202,7 +202,7 @@
// await hubConnection.StartAsync();
-
+
}
// private async Task OnBoardPanelStateChanged(ThrowPanelState state)
@@ -239,18 +239,18 @@
private async Task UndoClick()
{
- // if (hubConnection is not null)
- // {
- // await hubConnection.SendAsync("RequestUndo", _userName);
- // }
+ // if (hubConnection is not null)
+ // {
+ // await hubConnection.SendAsync("RequestUndo", _userName);
+ // }
}
private async Task RedoClick()
{
- // if (hubConnection is not null)
- // {
- // await hubConnection.SendAsync("RequestRedo", _userName);
- // }
+ // if (hubConnection is not null)
+ // {
+ // await hubConnection.SendAsync("RequestRedo", _userName);
+ // }
}
private async Task StartStopClick()
@@ -262,16 +262,16 @@
var options = new DialogOptions
{
-
+
};
-
+
var dialog = await DialogService.ShowAsync("Spiel starten", parameters, options);
var result = await dialog.Result;
-
+ var startParams = result.Data as StartParams;
if (!result.Canceled)
{
- var action = new StartStopAction(ThrowPanelState.Value, new StartParams());
+ var action = new StartStopAction(ThrowPanelState.Value, startParams);
Dispatcher.Dispatch(action);
}
}
diff --git a/KoogleApp/Store/Game/ThrowPanel/Reducers.cs b/KoogleApp/Store/Game/ThrowPanel/Reducers.cs
index 46d4a1c..af83287 100644
--- a/KoogleApp/Store/Game/ThrowPanel/Reducers.cs
+++ b/KoogleApp/Store/Game/ThrowPanel/Reducers.cs
@@ -41,9 +41,22 @@ namespace KoogleApp.Store.Game.ThrowPanel
}
[ReducerMethod]
- public static ThrowPanelState OnStartStop(ThrowPanelState state, StartStopAction stopAction)
+ public static ThrowPanelState OnStartStop(ThrowPanelState state, StartStopAction startStopAction)
{
- return state with { IsStated = !state.IsStated };
+ if (state.IsStated)
+ {
+ return state with { IsStated = false };
+ }
+
+ if (startStopAction.StartParams != null)
+ return state with
+ {
+ IsStated = !state.IsStated,
+ ThrowMode = startStopAction.StartParams.ThrowMode,
+ ThrowsPerRound = startStopAction.StartParams.ThrowsPerRound
+ };
+
+ return state;
}
[ReducerMethod]
diff --git a/KoogleApp/ThrowPanelState.json b/KoogleApp/ThrowPanelState.json
index 497f0ec..fb3e902 100644
--- a/KoogleApp/ThrowPanelState.json
+++ b/KoogleApp/ThrowPanelState.json
@@ -1,12 +1,12 @@
{
- "IsStated": false,
- "BellValue": true,
- "Pin1Value": false,
- "Pin2Value": false,
- "Pin3Value": false,
- "Pin4Value": false,
- "Pin5Value": false,
- "Pin6Value": false,
+ "IsStated": true,
+ "BellValue": false,
+ "Pin1Value": true,
+ "Pin2Value": true,
+ "Pin3Value": true,
+ "Pin4Value": true,
+ "Pin5Value": true,
+ "Pin6Value": true,
"Pin7Value": true,
"Pin8Value": true,
"Pin9Value": true,