summaryrefslogtreecommitdiff
path: root/engine/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'engine/main.go')
-rw-r--r--engine/main.go78
1 files changed, 45 insertions, 33 deletions
diff --git a/engine/main.go b/engine/main.go
index de8ff34..b9fb611 100644
--- a/engine/main.go
+++ b/engine/main.go
@@ -1,11 +1,14 @@
package main
import (
+ "encoding/json"
"log"
+ "os"
components "github.com/DegustatorPonos/RuinesOfRafdolon/Components"
coreobjects "github.com/DegustatorPonos/RuinesOfRafdolon/CoreObjects"
dynamic "github.com/DegustatorPonos/RuinesOfRafdolon/Dynamic"
+ descriptors "github.com/DegustatorPonos/RuinesOfRafdolon/Dynamic/Descriptors"
render "github.com/DegustatorPonos/RuinesOfRafdolon/Render"
settings "github.com/DegustatorPonos/RuinesOfRafdolon/Settings"
ui "github.com/DegustatorPonos/RuinesOfRafdolon/UI"
@@ -28,55 +31,64 @@ func main() {
}
log.Printf("Resource manager: %s", &components.Resources)
- // var field = descriptor.GenerateMap()
-
-
var manager = coreobjects.InitSceneManager()
// render.StartLoop(manager, components.Resources.Worlds["MainWorld"])
var menu = menu_test()
render.StartLoop(manager, menu)
}
+func test_desc() (ui.UIElement, error) {
+ var file, fErr = os.ReadFile("MainMenu.json")
+ if fErr != nil {
+ return nil, fErr
+ }
+ var desc = descriptors.UIElementDescriptor{}
+ if jsonErr := json.Unmarshal(file, &desc); jsonErr != nil {
+ return nil, jsonErr
+ }
+ var parsed, parseErr = desc.Parse()
+ if parseErr != nil {
+ return nil, parseErr
+ }
+ return parsed, nil
+}
+
func menu_test() *ui.Menu {
+ var loadedMenu, loadErr = test_desc()
+ if loadErr != nil {
+ panic(loadErr.Error())
+ }
+
+ var prerender = false
+
+ if !prerender {
+ return &ui.Menu {
+ PaddingX: 0.05,
+ PaddingY: 0.1,
+ Contents: loadedMenu,
+ }
+ }
+
return &ui.Menu {
PaddingX: 0.05,
PaddingY: 0.1,
- Contents: &ui.GridColumn{
- Spacing: 0.025,
+ Contents: &ui.GridColumn {
+ Weight: 2,
Objects: []ui.UIElement {
- &ui.GridRow {
- HeightWeight: 1,
- Spacing: 0.01,
- Objects: []ui.UIElement {
- &ui.Label{ Text: "First piece" },
- &ui.Label{ Text: "Wide piece", WidthWeight: 2 },
- &ui.Label{ Text: "Another piece" },
+ &ui.Label {
+ Text: "xdx",
+ Style: ui.Style {
+ BacgroundColor: &rl.Pink,
},
},
- &ui.GridRow {
- HeightWeight: 2,
- Objects: []ui.UIElement {
- &ui.Button {
- EventType: ui.OnClick,
- DisplayElement: &ui.Label {
- Text: "Center button",
- Alignment: ui.Center,
- Style: ui.Style {
- BacgroundColor: &rl.Pink,
- },
- },
- },
- },
- },
- &ui.GridRow {
- HeightWeight: 1,
- Objects: []ui.UIElement {
- &ui.Label{ Text: "A very very long text that is bigger than a window" },
+ &ui.Label {
+ Text: "xdx",
+ Style: ui.Style {
+ BacgroundColor: &rl.Pink,
},
},
},
},
- // Rows: []ui.UIElement {
- // },
}
+
}