From d5b1ff7f6031ed191e16625b1ddb8ac3fd0a33c7 Mon Sep 17 00:00:00 2001 From: Physcik Date: Mon, 26 Jan 2026 21:20:09 +0500 Subject: Movement fix --- engine/CoreObjects/Collider.go | 13 ++++++------- engine/CoreObjects/OverlayScene.go | 3 +++ 2 files changed, 9 insertions(+), 7 deletions(-) (limited to 'engine/CoreObjects') diff --git a/engine/CoreObjects/Collider.go b/engine/CoreObjects/Collider.go index 6603058..8e9f472 100644 --- a/engine/CoreObjects/Collider.go +++ b/engine/CoreObjects/Collider.go @@ -3,6 +3,7 @@ package coreobjects import ( "image/color" + settings "github.com/DegustatorPonos/RuinesOfRafdolon/Settings" rl "github.com/gen2brain/raylib-go/raylib" ) @@ -35,13 +36,7 @@ func (base *BoxCollider) Init(x float32, y float32, height float32, width float3 } func (base *BoxCollider) Intersects(x float32, y float32) bool { - if base.Location.X < x || base.Location.Y < y { - return false - } - if base.Location.X + base.Location.Width > x || base.Location.Y + base.Location.Height > y { - return false - } - return true + return rl.CheckCollisionPointRec(rl.Vector2 { X: x, Y: y }, base.Location) } func (base *BoxCollider) Move(dx float32, dy float32) { @@ -61,6 +56,9 @@ func (base *BoxCollider) MoveIfPossible(colliders []*Collider, dx float32, dy fl } func (base *BoxCollider) Draw() { + if !settings.State.DrawColliders { + return + } rl.DrawRectangle(base.Location.ToInt32().X, base.Location.ToInt32().Y, base.Location.ToInt32().Width, @@ -73,6 +71,7 @@ func (base *BoxCollider) CanMove(colliders []*Collider, dx float32, dy float32) var y = base.Location.Y + dy var width = base.Location.Width var height = base.Location.Height + // TODO: optimise for _, v := range colliders { if (*v).Intersects(x, y) || diff --git a/engine/CoreObjects/OverlayScene.go b/engine/CoreObjects/OverlayScene.go index 5c43e11..a15fd17 100644 --- a/engine/CoreObjects/OverlayScene.go +++ b/engine/CoreObjects/OverlayScene.go @@ -19,6 +19,9 @@ func (base *OveralyScene) Destroy() { func (base *OveralyScene) Update() { base.FPS.Update() + if rl.IsKeyPressed(rl.KeyF7) { + settings.State.DrawColliders = !settings.State.DrawColliders + } } func (base *OveralyScene) Draw() { -- cgit v1.3