diff --git a/.gitignore b/.gitignore index 585ea5e..e982c57 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ last_light +last_light.exe \ No newline at end of file diff --git a/DESIGN.md b/DESIGN.md index dacfc68..58b35e3 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -18,6 +18,7 @@ - Fire - Cold - Necrotic + - Thunder - Acid - Poison - 9-level Dungeon diff --git a/render/layers.go b/render/layers.go index eda9053..bdfb574 100644 --- a/render/layers.go +++ b/render/layers.go @@ -37,6 +37,18 @@ func (l *layer) draw(s tcell.Screen) { } } +type unorderedDrawContainer struct { + id uuid.UUID + contents []Drawable +} + +func CreateUnorderedDrawContainer(contents []Drawable) unorderedDrawContainer { + return unorderedDrawContainer{ + id: uuid.New(), + contents: contents, + } +} + type layeredDrawContainer struct { id uuid.UUID layers []*layer diff --git a/ui/ui.go b/ui/ui.go new file mode 100644 index 0000000..48ecf65 --- /dev/null +++ b/ui/ui.go @@ -0,0 +1,12 @@ +package ui + +import ( + "mvvasilev/last_light/util" + + "github.com/google/uuid" +) + +type UIElement interface { + UniqueId() uuid.UUID + Position() util.Position +}