Exemplo n.º 1
0
    public async Task <bool> Reveal(Track track, GameState gs)
    {
        foreach (var part in parts)
        {
            if (await part.Reveal(track, gs))
            {
                await TrackRevealed.InvokeAsync(new TrackRevealedArgs( track, gs ));

                return(true);
            }
        }
        return(false);
    }
Exemplo n.º 2
0
    public virtual async Task <bool> Reveal(Track track, GameState gameState)
    {
        if (gameState == null)
        {
            throw new ArgumentNullException(nameof(gameState));
        }
        if (revealedCount == slots.Length || slots[revealedCount] != track)
        {
            return(false);
        }
        ++revealedCount;
        await TrackRevealed.InvokeAsync(new TrackRevealedArgs( track, gameState ));

        return(true);
    }
Exemplo n.º 3
0
 Task OnRevealed(TrackRevealedArgs args)
 {
     CheckEnergyAndCardPlays(args.Track);
     return(TrackRevealed.InvokeAsync(args));
 }