Clones need to inherit `Active` state to allow non-Active objects in Physics Engine games, such as lasers, explosions, particles etc

For clones to be useable as both Physics and non-Physics objects in a project using the Physics Engine, they need to inherit the Active state from the ‘base’ Actor they are cloned from.

Sample project demonstrating effect of current (non-inherited) Active state:

Here is a diagnostic test-case project, illustrating:

  • TC 1: Non-inherited Active state (same as Sample project above).
  • TC 2: Ineffective workaround of setting Active=FALSE immediately on Clone Startup
  • TC 3: An ‘emulation’ of the desired behaviour, through turning off the Physics Engine!
    • NOTE: Turning off the Physics Engine is only to emulate inherited Active=FALSE to show the desired behaviour – obviously, turning off the Physics Engine is not an option for Physics-based projects!
  • Play:-
  • IDE:-

Current behaviour:

  • At the moment Clones are always created with Active=TRUE; this means they immediately interact/displace other Active=TRUE objects in the scene, plus incurring a slowdown as they’re added to the scene.
    • This makes it impossible to create non-Active objects, such as lasers, explosions, particles etc.
    • (See TC 1 in Diagnostic Test Case project above).
  • Setting Active=FALSE immediately on Clone Startup is not a sufficient work-around, as they still initially interact/displace/slowdown until the Active=FALSE statement is processed.
    • (See TC 2 in Diagnostic Test Case project above).

Desired behaviour:

  • Clones inherit Active flag state.
  • Help content on which attributes Clones currently inherit - i.e. Static, Shape, Density, Friction, Restitution, Weight, Linear Velocity, Angular Velocity, …
  • Sensible inheriting of all Physics properties; also other properties (such as Pen/Font/…).
  • set Active and set Static blocks added to the Physics block list.
    • (Currently there’s just the long forms i.e. set Active on [self] to <false>).
  • Bonus: An additional flag, so that Actors/Clones can be like Active=TRUE and Static=FALSE but not collide/displace – for particle effects where they still need to interact with Gravity and other forces. Maybe Collide=TRUE?