void MoveWithCollision( System.Single& bounce, System.Single& friction, System.Single& bumpiness, System.Single& push, System.Boolean& die, System.Single& dt, float radius, Sandbox.SceneTrace& trace )

book_4_sparkGenerated
code_blocksInput

Description

The MoveWithCollision method is responsible for moving a particle while handling potential collisions. It updates the particle's state based on the provided parameters, which include physical properties like bounce, friction, and bumpiness, as well as the particle's interaction with the environment, such as whether it should die upon collision.

Usage

To use the MoveWithCollision method, you need to provide several parameters by reference, which will be modified by the method to reflect the particle's new state after movement and collision handling:

  • bounce: A reference to a float that determines how much the particle bounces upon collision.
  • friction: A reference to a float that affects the particle's velocity reduction upon collision.
  • bumpiness: A reference to a float that influences the roughness of the collision.
  • push: A reference to a float that determines the force applied to the particle upon collision.
  • die: A reference to a bool that indicates whether the particle should be destroyed upon collision.
  • dt: A reference to a float representing the delta time for the movement calculation.
  • radius: A float representing the particle's radius, used for collision detection.
  • trace: A reference to a SceneTrace object that provides information about the collision trace.

Example

// Example usage of MoveWithCollision
Particle particle = new Particle();
float bounce = 0.5f;
float friction = 0.3f;
float bumpiness = 0.2f;
float push = 1.0f;
bool die = false;
float dt = 0.016f; // Assuming 60 FPS
float radius = 0.1f;
SceneTrace trace = new SceneTrace();

particle.MoveWithCollision(ref bounce, ref friction, ref bumpiness, ref push, ref die, ref dt, radius, ref trace);

// After calling, the parameters will be updated based on the collision handling logic.