diff options
| author | Physcik <mynameisgennadiy@vk.com> | 2026-01-29 02:55:19 +0500 |
|---|---|---|
| committer | Physcik <mynameisgennadiy@vk.com> | 2026-01-29 02:55:19 +0500 |
| commit | 9c10e3ab194115f50f0d67044ef34d386be7fa9a (patch) | |
| tree | 87f8cee46e734c2dea0cf55421e545a3f217afb4 /engine/Components/World.go | |
| parent | bc11ae4b42547ace656381fb0ed0b3604350fcb1 (diff) | |
Dynamic objects overlay
Diffstat (limited to 'engine/Components/World.go')
| -rw-r--r-- | engine/Components/World.go | 14 |
1 files changed, 13 insertions, 1 deletions
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 |
