package gameobjects import ( coreobjects "github.com/DegustatorPonos/RuinesOfRafdolon/CoreObjects" rl "github.com/gen2brain/raylib-go/raylib" ) var texture rl.Texture2D type Tile struct { } type Field struct { Tiles [][]Tile Camera rl.Camera2D } func (base *Field) Create(_ coreobjects.SceneManager) { var image = rl.LoadImage("tile.png") texture = rl.LoadTextureFromImage(image) rl.UnloadImage(image) base.Camera = rl.Camera2D{} base.Camera.Target = rl.Vector2 { X: 0, Y: 0 } base.Camera.Offset = rl.Vector2 { X: 0, Y: 0 } base.Camera.Rotation = 0 base.Camera.Zoom = 2 } func (base *Field) Destroy() { rl.UnloadTexture(texture) } func (base *Field) Update() { if rl.IsKeyDown(rl.KeyW) { base.Camera.Target.Y -= 0.3 } if rl.IsKeyDown(rl.KeyS) { base.Camera.Target.Y += 0.3 } if rl.IsKeyDown(rl.KeyA) { base.Camera.Target.X -= 0.3 } if rl.IsKeyDown(rl.KeyD) { base.Camera.Target.X += 0.3 } } func (base *Field) Draw() { rl.BeginMode2D(base.Camera) defer rl.EndMode2D() for x, r := range base.Tiles { for y, _ := range r { rl.DrawTexture(texture, (int32(x) * 32), int32(y) * 32, rl.White) } } } func CreateField(x int, y int) Field { var tiles = make([][]Tile, x) for i := range tiles { tiles[i] = make([]Tile, y) } return Field { Tiles: tiles, } }