38 lines
737 B
JavaScript
38 lines
737 B
JavaScript
|
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
|
||
|
);
|
||
|
}
|
||
|
}
|