package de.oaa.xxx.games.bdsm;

import java.util.List;
import java.util.UUID;

import de.oaa.xxx.games.common.aufgaben.CommonMitspieler;
import de.oaa.xxx.games.common.aufgaben.Werkzeug;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class BdsmMitspieler implements CommonMitspieler {

    private UUID id;
    private UUID userId;
    private boolean eigenesGeraet;
    private boolean sperrenVorFinaleAufloesen = true;
    private String name;
    private GeschlechtEnum geschlecht;
    private List<GeschlechtEnum> spieltMit;
    private List<RolleEnum> rollen;
    private List<Werkzeug> verfuegbareWerkzeuge;

    public boolean isVerfuegbar(Werkzeug werkzeug) {
        return verfuegbareWerkzeuge.contains(werkzeug);
    }

    @Override
    public String toString() {
        return "Mitspieler[id=" + id + ", name=" + name + ", geschlecht=" + geschlecht
                + ", rollen=" + rollen + ", werkzeuge=" + verfuegbareWerkzeuge + "]";
    }

    public boolean isPassenderSpielpartner(BdsmMitspieler other) {
        if (!spieltMit.contains(other.getGeschlecht())) {
            return false;
        }
        if (!other.spieltMit.contains(geschlecht)) {
            return false;
        }
        return true;
    }
}
