package de.stoermer.xxx.domain.aufgaben;

import java.time.LocalDateTime;

import de.stoermer.xxx.domain.Spieler;
import de.stoermer.xxx.domain.Werkzeug;

public class Lock extends Aufgabe {
	
	private final int minuten;
	private LocalDateTime releaseTime;

	private final String releaseText;
	private final Werkzeug werkzeug;
	
	public Lock(Spieler spieler1, Spieler spieler2, String text, int minuten, Werkzeug werkzeug, String releaseText) {
		super(spieler1, spieler2, text);
		this.minuten = minuten;
		this.werkzeug = werkzeug;
		this.releaseText = releaseText;
	}
	
	public void verlaengern(int times) {
		releaseTime.plusMinutes((times * minuten));
	}
	
	@Override
	public Timer getTimer() {
		return null;
	}
	@Override
	public void ok() {
		releaseTime = LocalDateTime.now().plusMinutes(minuten);
		getSpieler1().lock(this);		
	}
	@Override
	public void abbrechen() {
	}

	public String getReleaseText() {
		return releaseText.replace("$SPIELER1", getSpieler1().getName()).replace("$SPIELER2", getSpieler2().getName());
	}

	public Werkzeug getWerkzeug() {
		return werkzeug;
	}

	public LocalDateTime getReleaseTime() {
		return releaseTime;
	}
	
	public int getMinuten() {
		return minuten;
	}
	
	@Override
	public String toString() {
		return "Lock " + werkzeug + " bis " + releaseTime + " (" + minuten + ")";
	}
}
