RaycastSystem class

ECS system that provides ray-vs-collider intersection tests against every entity that has a TransformComponent and a RaycastColliderComponent.

This system performs no automatic per-frame work — it is a pure query API called on-demand (e.g. when a bullet is fired).

Usage:

final raycastSys = RaycastSystem();
world.addSystem(raycastSys);

final ray = Ray(origin: playerPos, direction: aimDir);
final hit = raycastSys.castRay(ray, filterTag: 'enemy');
if (hit != null) { /* apply damage */ }
Inheritance

Constructors

RaycastSystem()

Properties

entities Iterable<Entity>
Get all entities that match this system's requirements
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
isActive bool
Whether this system is active
getter/setter pairinherited
priority int
Priority for system execution order (higher = earlier)
getter/setter pairinherited
requiredComponents List<Type>
Required component types for this system
no setteroverride
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
world World
World this system belongs to
getter/setter pairinherited

Methods

castRay(Ray ray, {String? filterTag}) RaycastHit?
Cast ray and return the closest hit entity, or null if no entity is intersected within ray.maxDistance.
castRayAll(Ray ray, {String? filterTag}) List<RaycastHit>
Cast ray and return all intersected entities, sorted nearest-first.
dispose() → void
Dispose system resources
inherited
forEach(void action(Entity entity)) → void
Execute a function for each matching entity
inherited
hasLineOfSight(Offset from, Offset to, {String? ignoreTag}) bool
Returns true if there is no blocking collider between from and to (line-of-sight / LOS check).
initialize() → void
Initialize the system
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onAddedToWorld() → void
Called when system is added to world
inherited
onRemovedFromWorld() → void
Called when system is removed from world
inherited
render(Canvas canvas, Size size) → void
Render the system (optional)
inherited
toString() String
A string representation of this object.
inherited
update(double deltaTime) → void
This system is query-only; no per-frame logic is required.
override

Operators

operator ==(Object other) bool
The equality operator.
inherited