47 lines
1.6 KiB
C#
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
|
|
)
|
|
{ }
|
|
}
|
|
|
|
} |