summaryrefslogtreecommitdiff
path: root/engine/CoreObjects/Collider.go
diff options
context:
space:
mode:
Diffstat (limited to 'engine/CoreObjects/Collider.go')
-rw-r--r--engine/CoreObjects/Collider.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/engine/CoreObjects/Collider.go b/engine/CoreObjects/Collider.go
index 93cbee6..6603058 100644
--- a/engine/CoreObjects/Collider.go
+++ b/engine/CoreObjects/Collider.go
@@ -15,6 +15,7 @@ type Collider interface {
MoveTo(x float32, y float32)
Intersects(x float32, y float32) bool
CanMove(colliders []*Collider, dx float32, dy float32) bool
+ Clone() Collider
Draw()
}
@@ -83,3 +84,10 @@ func (base *BoxCollider) CanMove(colliders []*Collider, dx float32, dy float32)
}
return true
}
+
+func (base *BoxCollider) Clone() Collider {
+ var clone = (&BoxCollider{}).Init (
+ base.Location.X, base.Location.Y,
+ base.Location.Width, base.Location.Height)
+ return clone
+}