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
    }
}