package de.oaa.xxx.session;

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

public class Mitspieler {

    private UUID id;
    private String name;
    private GeschlechtEnum geschlecht;
    private List<GeschlechtEnum> spieltMit;
    private List<RolleEnum> rollen;
    private List<Werkzeug> verfuegbareWerkzeuge;

    public UUID getId() { return id; }
    public void setId(UUID id) { this.id = id; }

    public String getName() { return name; }
    public void setName(String name) { this.name = name; }

    public GeschlechtEnum getGeschlecht() { return geschlecht; }
    public void setGeschlecht(GeschlechtEnum geschlecht) { this.geschlecht = geschlecht; }

    public List<GeschlechtEnum> getSpieltMit() { return spieltMit; }
    public void setSpieltMit(List<GeschlechtEnum> spieltMit) { this.spieltMit = spieltMit; }

    public List<RolleEnum> getRollen() { return rollen; }
    public void setRollen(List<RolleEnum> rollen) { this.rollen = rollen; }

    public List<Werkzeug> getVerfuegbareWerkzeuge() { return verfuegbareWerkzeuge; }
    public void setVerfuegbareWerkzeuge(List<Werkzeug> verfuegbareWerkzeuge) { this.verfuegbareWerkzeuge = verfuegbareWerkzeuge; }

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

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