mirror of
https://github.com/mvvasilev/last_light.git
synced 2025-04-19 12:49:52 +03:00
29 lines
462 B
Go
29 lines
462 B
Go
package ui
|
|
|
|
import (
|
|
"mvvasilev/last_light/engine"
|
|
"mvvasilev/last_light/game/systems"
|
|
)
|
|
|
|
type UIElement interface {
|
|
MoveTo(x, y int)
|
|
Position() engine.Position
|
|
Size() engine.Size
|
|
Input(inputAction systems.InputAction)
|
|
|
|
engine.Drawable
|
|
}
|
|
|
|
type UIHighlightableElement interface {
|
|
IsHighlighted() bool
|
|
Highlight()
|
|
Unhighlight()
|
|
SetHighlighted(highlighted bool)
|
|
UIElement
|
|
}
|
|
|
|
type UISelectableElement interface {
|
|
Select()
|
|
OnSelect(func())
|
|
UIElement
|
|
}
|