KoogleApp/KoogleApp/Store/Game/ThrowPanel/State.cs

47 lines
1.6 KiB
C#

using System.Runtime.InteropServices;
using Fluxor;
using Microsoft.AspNetCore.Mvc;
using Microsoft.IdentityModel.Tokens;
namespace KoogleApp.Store.Game.ThrowPanel
{
public record ThrowModeClass(ThrowMode ThrowMode, string Name);
public enum ThrowMode
{
Reposition, // in die Vollen
Decrease // Abräumen
}
public enum ThrowPanelStateStatus
{
Undefined,
GameStart,
BeforeThrow,
AfterThrow,
GameEnd
}
public enum PinStatus
{
Standing,
Fallen,
Disabled
}
[FeatureState]
public record ThrowPanelState(bool IsStated, bool BellValue,
PinStatus Pin1State, PinStatus Pin2State, PinStatus Pin3State, PinStatus Pin4State, PinStatus Pin5State, PinStatus Pin6State, PinStatus Pin7State, PinStatus Pin8State, PinStatus Pin9State,
int ThrowsPerRound, int ThrowCounterPerRound, ThrowMode ThrowMode, ThrowPanelStateStatus ThrowPanelStateStatus, int ThrowCounter,
int DayId)
{
// Required for creating initial state
public ThrowPanelState() : this(BellValue:false, IsStated:false,
Pin1State : PinStatus.Standing, Pin2State: PinStatus.Standing, Pin3State: PinStatus.Standing, Pin4State: PinStatus.Standing, Pin5State: PinStatus.Standing, Pin6State: PinStatus.Standing, Pin7State: PinStatus.Standing, Pin8State: PinStatus.Standing, Pin9State: PinStatus.Standing,
ThrowsPerRound : 3, ThrowCounterPerRound : 1, ThrowMode : ThrowMode.Reposition, ThrowPanelStateStatus: ThrowPanelStateStatus.Undefined, ThrowCounter:0,
DayId:0
)
{ }
}
}