Beispiel #1
0
    public ValueTask Reset()
    {
        _startTime = TimeSpan.MinValue;
        _finished  = false;
        _instructions.Clear();
        _chaseSubAct = new();
        populateDelayedInstructions();

        return(default);
Beispiel #2
0
    public AttractAct(
        ICoinBox coinBox,
        IMediator mediator,
        IHumanInterfaceParser input,
        IGameSoundPlayer gameSoundPlayer)
    {
        string version = Assembly
                         .GetEntryAssembly()
                         ?.GetCustomAttribute <AssemblyInformationalVersionAttribute>()
                         ?.InformationalVersion ?? "??";

        MarqueeText[] texts =
        {
            new() {
                Text           = $"v{version}",
                YPosition      = 195,
                TimeIdle       = 1.Seconds(),
                TimeIn         = 1.Seconds(),
                TimeStationary = 1.Seconds(),
                TimeOut        = .5f.Seconds()
            },
            new() {
                Text           = "tap/space - 1 player",
                YPosition      = 195,
                TimeIdle       = 1.Seconds(),
                TimeIn         = 2.Seconds(),
                TimeStationary = 2.Seconds(),
                TimeOut        = 1.Seconds()
            },
            new() {
                Text           = "long press/2 - 2 players",
                YPosition      = 195,
                TimeIdle       = 0.Seconds(),
                TimeIn         = 2.Seconds(),
                TimeStationary = 2.Seconds(),
                TimeOut        = 1.Seconds()
            }
        };

        _marquee         = new(texts);
        _coinBox         = coinBox;
        _mediator        = mediator;
        _input           = input;
        _gameSoundPlayer = gameSoundPlayer;
        _pacmanLogo      =
            new(new(192, 25), new(36, 152), Vector2.Zero, new(456, 173));
        _blazorLogo = new();

        _instructions = new();

        _startTime = TimeSpan.MinValue;

        _blinky             = new(GhostNickname.Blinky, Direction.Right);
        _pinky              = new(GhostNickname.Pinky, Direction.Right);
        _inky               = new(GhostNickname.Inky, Direction.Right);
        _clyde              = new(GhostNickname.Clyde, Direction.Right);
        _startTime          = TimeSpan.MinValue;
        _chaseSubActReadyAt = 9.Seconds();

        _chaseSubAct = new();
        _lock        = new();
    }