Not sure if it helps, but on some theoretical level, an entity is a Thing made up of properties(/components) intrinsic to the world. As a rule of thumb (my thumb, at least), if something is a concrete thing, it's an entity. Position, Damage and so forth are properties used for describing Things.
You could model the Bullet as follows: - Collidible - HitPoints (when it collides, subtract health from the bullet, so that it too "dies")./ - Damage (inflict this on collision, if the other entity has HitPoints, in your Collision system or such) - Position - Velocity - HasOwner (don't want it to collide with your avatar/ship) - SpriteReference - Size
So, none of the entities would need an actual Projectile component. In practice however, it sometimes makes sense though.
_________________ : bytecode-weaving antiboilerplate lib for artemis. | : bugfixing and performance optimized fork.
|