From 9c10e3ab194115f50f0d67044ef34d386be7fa9a Mon Sep 17 00:00:00 2001 From: Physcik Date: Thu, 29 Jan 2026 02:55:19 +0500 Subject: Dynamic objects overlay --- engine/Components/World.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'engine/Components/World.go') diff --git a/engine/Components/World.go b/engine/Components/World.go index 0c322ba..26c1a83 100644 --- a/engine/Components/World.go +++ b/engine/Components/World.go @@ -27,6 +27,9 @@ type World struct { func (base *World) Create(manager coreobjects.SceneManager) { base.Manager = manager base.Player.Init(manager) + for _, v := range base.StaticObjects { + v.Init(manager) + } base.layersStatic = layering{} base.generateStaticLayers() } @@ -36,6 +39,9 @@ func (base *World) Destroy() { } func (base *World) Update() { + for _, v := range base.StaticObjects { + v.Update() + } base.Player.Update() base.Player.SnapCamera(base.Camera) base.handleZoom() @@ -68,7 +74,10 @@ func (base *World) Draw() { for _, v := range base.Floor { v.Draw() } + base.drawObjects() +} +func (base *World) drawObjects() { var playerDrawn = false var layer = base.layersStatic.firstLayer var i = 0 @@ -78,7 +87,6 @@ func (base *World) Draw() { } if !playerDrawn && base.Player.Position.Y < layer.Index { playerDrawn = true - // fmt.Printf("Player drawn at layer %d\n", i) base.Player.Draw() } for _, v := range layer.Objects { @@ -99,6 +107,10 @@ func (base *World) generateStaticLayers() { } } +func (base *World) GetMousePosition() rl.Vector2 { + return rl.GetScreenToWorld2D(rl.GetMousePosition(), *base.Camera) +} + // The single texture drawn at level 0 of the world type FloorTile struct { Position rl.Vector2 -- cgit v1.3