package main import ( 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 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) } // ==================== 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, } }