CEL: Crystal Entity Layer: iPcProjectile Struct Reference (CEL: Crystal Entity Layer Public API Reference)

| ## Public API Reference

- Main Page
- Classes
- Files

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# iPcProjectile Struct Reference

This is a projectile property class. More...

`#include <propclass/projectile.h>`

List of all members.

## Public Member Functions
virtual void | Interrupt ()=0
| Interrupt a movement.
virtual bool | IsMoving () const =0
| Return true if currently moving.
virtual bool | Start (const csVector3 &direction, float speed, float maxdist, int maxhits)=0
| Start a movement of this projectile from its current position.

## Detailed Description

This is a projectile property class.

This class controls movement of a projectile from one spot to another (or in some direction).

This property class can send out the following messages to the behaviour (add prefix 'cel.parameter.' to get the ID for parameters):

- pcprojectile_stopped: the projectile movement has stopped but no object was hit.
- pcprojectile_hit: we hit some object (entity, intersection). If we hit a mesh that is not an entity then this message will still be sent but with entity equal to 0.

This property class supports the following actions (add prefix 'cel.action.' to get the ID of the action and add prefix 'cel.parameter.' to get the ID of the parameter):

- Start: start movement in some direction. Parameters 'direction' (vector3), 'speed' (float), 'maxdist' (float), and 'maxhits' (long).
- Interrupt: interrupt the current movement.

This property class supports the following properties (add prefix 'cel.property.' to get the ID of the property:

- moving (bool, read only): returns true if currently moving.

Definition at line 55 of file projectile.h.

## Member Function Documentation

virtual void iPcProjectile::Interrupt | ( |  | ) | `[pure virtual]`

Interrupt a movement.

virtual bool iPcProjectile::IsMoving | ( |  | ) | const`[pure virtual]`

Return true if currently moving.

virtual bool iPcProjectile::Start | ( | const csVector3 & | direction,
|  | float | speed,
|  | float | maxdist,
|  | int | maxhits |
| ) |  |  | `[pure virtual]`

Start a movement of this projectile from its current position.

Parameters:

  | direction | is the direction to go in.
  | speed | is the speed in units per second.
  | maxdist | is the maximum distance to move at which point we will stop and send a pcprojectile_stopped message.
  | maxhits | is the maximum number of hits at which point we will stop and send a pcprojectile_stopped message.

Returns:
  false if we couldn't start the movement (usually this means the projectile is already moving).

The documentation for this struct was generated from the following file:

- propclass/projectile.h