Collision3D
Namespace:
namespace Lenga\Engine\Core;
class Collision3D
Methods
fromNativeData
public static function fromNativeData(array $data)
Example
use Lenga\Engine\Core\Behaviour;
use Lenga\Engine\Core\Collision3D;
class ExplosiveObject extends Behaviour
{
public function onCollisionEnter(Collision3D $collision): void
{
$otherObject = $collision->gameObject;
$normalForce = $collision->relativeVelocity;
$contactPoint = $collision->contactPoint;
// Only explode if hit with enough force
if ($normalForce->magnitude() > 10.0) {
Debug::log('Explosion triggered by: ' . $otherObject->name);
$this->explode();
}
}
private function explode(): void
{
// Explosion logic here
}
}