package com.github.jamesnorris.ablockalypse.behavior;
import com.github.jamesnorris.ablockalypse.threading.inherent.BlinkerTask;
public interface Blinkable extends GameAspect {
/**
* Gets the {@link BlinkerTask.java} object associated with this aspect,
* that runs on the Ablockalypse main thread, and allows the aspect to blink.
*
* @return The task that allows the aspect to blink
*/
public BlinkerTask getBlinkerTask();
/**
* Returns whether or not the aspect is blinking. This is functionally the same as the method {@code getBlinkerTask().isRunning()}.
*
* @return Whether or not the aspect is blinking
*/
public boolean isBlinking();
/**
* Sets whether or not the aspect should blink. This is functionally the same as the method {@code getBlinkerTask().setRunning(true/false)}.
* The aspect will then start or stop blinking as told to do so through this method, as soon as this method is called, or shortly thereafter.
*
* @param blinking Whether or not the aspect should start blinking
*/
public void setBlinking(boolean blinking);
}