import GeometryPoint from "../geometry/GeometryPoint.js";

export default class UserInterfaceElement
{
    constructor()
    {
        this.position = new GeometryPoint(0, 0);
        this.isVisible = true;
    }

    setPosition(x, y)
    {
        this.position.x = x;
        this.position.y = y;
    }

    hide(timeoutMilliseconds = 0)
    {
        setTimeout(
            () => {
                this.isVisible = false
            }, timeoutMilliseconds
        );
    }

    show(timeoutMilliseconds = 0)
    {
        if (timeoutMilliseconds > 0) {
            this.isVisible = false;
        }

        setTimeout(
            () => {
                this.isVisible = true;
            }, timeoutMilliseconds
        );
    }
}