From 7a0c4891275c913c23469d42bb1c3e0e9ca35cf8 Mon Sep 17 00:00:00 2001 From: Physcik Date: Fri, 23 Jan 2026 01:15:37 +0500 Subject: Colliders --- engine/Components/World.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'engine/Components/World.go') diff --git a/engine/Components/World.go b/engine/Components/World.go index 7e6e8e3..2b7954a 100644 --- a/engine/Components/World.go +++ b/engine/Components/World.go @@ -14,13 +14,20 @@ type World struct { Player *Player Camera *rl.Camera2D + + // ========== Cache ========== + + // the collection of the colliders that belong to static objects - world, buildings, etc + staticColliders []*coreobjects.Collider } func (base *World) Create(manager coreobjects.SceneManager) { base.Manager = manager + base.Player.Init(manager) } func (base *World) Destroy() { + base.Player.Destroy() } func (base *World) Update() { @@ -34,6 +41,17 @@ func (base *World) handleZoom() { base.Camera.Zoom += zoomSpeed * rl.GetMouseWheelMove() } +func (base *World) collectStaticColliders() { + base.staticColliders = make([]*coreobjects.Collider, 0) +} + +func (base *World) GetStaticColliders() []*coreobjects.Collider { + if base.staticColliders == nil { + base.collectStaticColliders() + } + return base.staticColliders +} + func (base *World) Draw() { rl.BeginMode2D(*base.Camera) defer rl.EndMode2D() -- cgit v1.3