using SoulstormReplayReader.Core.Domain.Action;
using SoulstormReplayReader.Core.Enums;

namespace SoulstormReplayReader.Core.Domain.BugCheckers;

public abstract class BugCheckerBase(int playerId, RaceEnum playerRace)
{
    public abstract BugType BugType { get; }

    public readonly int PlayerId = playerId;
    public readonly RaceEnum PlayerRace = playerRace;

    public abstract void Check(IGameAction action);

    public bool IsCompleted { get; set; }
    public string Accusation { get; set; }
    public bool HasAccusation => !string.IsNullOrEmpty(Accusation);
}