summaryrefslogtreecommitdiff
path: root/engine/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'engine/main.go')
-rw-r--r--engine/main.go70
1 files changed, 67 insertions, 3 deletions
diff --git a/engine/main.go b/engine/main.go
index 8d11769..86d3b2f 100644
--- a/engine/main.go
+++ b/engine/main.go
@@ -1,18 +1,82 @@
package main
import (
- components "github.com/DegustatorPonos/RuinesOfRafdolon/Components"
+ world "github.com/DegustatorPonos/RuinesOfRafdolon/Components/World"
coreobjects "github.com/DegustatorPonos/RuinesOfRafdolon/CoreObjects"
render "github.com/DegustatorPonos/RuinesOfRafdolon/Render"
settings "github.com/DegustatorPonos/RuinesOfRafdolon/Settings"
+ rl "github.com/gen2brain/raylib-go/raylib"
)
func main() {
settings.ReadSettings()
// TEMPORARY SECTION
- var field = components.CreateWorld(8, 8)
+ var descriptor = world.Descriptor {
+ TileSize: rl.Vector2 { X: 32, Y: 32 },
+ Textures: map[int]string{
+ 0: "assets/tile.png",
+ 1: "assets/water.png",
+ },
+ WorldMap: [][]world.TileDescriptor {
+ []world.TileDescriptor {
+ world.TileDescriptor{
+ TextureId: 0,
+ },
+ world.TileDescriptor{
+ TextureId: 0,
+ },
+ },
+ []world.TileDescriptor {
+ world.TileDescriptor{
+ TextureId: 1,
+ },
+ world.TileDescriptor{
+ TextureId: 1,
+ },
+ },
+ },
+ }
+
+ // var field = CreateWorld(8, 8)
+ var field = descriptor.GenerateMap()
var manager = coreobjects.InitSceneManager()
- render.InitWindow(manager, &field)
+ render.InitWindow(manager, field)
+}
+
+// ==================== TEMPORARY SECTION ====================
+
+var TileSize = rl.Vector2 { X: 32, Y: 32 }
+
+type DefaultTile struct {
+ Position rl.Vector2
+}
+
+func (base *DefaultTile) Init(pos rl.Vector2) {
+ base.Position = pos
+}
+
+func (base *DefaultTile) Update() {
}
+func (base *DefaultTile) Draw() {
+ rl.DrawTexture(world.Texture,
+ int32(base.Position.X) * int32(TileSize.X),
+ int32(base.Position.Y) * int32(TileSize.Y),
+ rl.White)
+}
+
+func CreateWorld(x int, y int) world.World {
+ var tiles = make([][]world.Tile, x)
+ for i := range tiles {
+ tiles[i] = make([]world.Tile, y)
+ for j := range tiles[i] {
+ tiles[i][j] = &DefaultTile{
+ Position: rl.Vector2{ X: float32(j), Y: float32(i) },
+ }
+ }
+ }
+ return world.World {
+ Tiles: tiles,
+ }
+}