package components import ( coreobjects "github.com/DegustatorPonos/RuinesOfRafdolon/CoreObjects" rl "github.com/gen2brain/raylib-go/raylib" ) type Player struct { Position rl.Vector2 Texture rl.Texture2D } func (base *Player) Create(_ coreobjects.SceneManager) { } func (base *Player) Destroy() { } func (base *Player) Update() { var speed = 150 * rl.GetFrameTime() if rl.IsKeyDown(rl.KeyW) { base.Position.Y -= speed } if rl.IsKeyDown(rl.KeyS) { base.Position.Y += speed } if rl.IsKeyDown(rl.KeyA) { base.Position.X -= speed } if rl.IsKeyDown(rl.KeyD) { base.Position.X += speed } } func (base *Player) Draw() { rl.DrawTexture(base.Texture, int32(base.Position.X), int32(base.Position.Y), rl.White) } func (base Player) SnapCamera (camera *rl.Camera2D) { var offset = rl.Vector2 { X: float32(base.Texture.Width) / 2, Y: float32(base.Texture.Height) / 2, } camera.Target = rl.Vector2Add(base.Position, offset) camera.Offset.X = float32(rl.GetScreenWidth()) / 2 camera.Offset.Y = float32(rl.GetScreenHeight()) / 2 }