summaryrefslogtreecommitdiff
path: root/engine/CoreObjects
diff options
context:
space:
mode:
Diffstat (limited to 'engine/CoreObjects')
-rw-r--r--engine/CoreObjects/Collider.go13
-rw-r--r--engine/CoreObjects/OverlayScene.go3
2 files changed, 9 insertions, 7 deletions
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() {