1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
/* This file is part of the Spring engine (GPL v2 or later), see LICENSE.html */
#ifndef PROJECTILE_PARAMS_H
#define PROJECTILE_PARAMS_H
#include "System/float3.h"
class CWorldObject;
class CUnit;
struct S3DModel;
struct WeaponDef;
// parameters used to spawn weapon-projectiles
struct ProjectileParams {
ProjectileParams()
: target(NULL)
, owner(NULL)
, model(NULL)
, weaponDef(NULL)
, ownerID(-1u)
, teamID(-1u)
, weaponID(-1u)
, cegID(-1u)
, ttl(0)
, gravity(0.0f)
, tracking(0.0f)
, maxRange(0.0f)
, startAlpha(0.0f)
, endAlpha(1.0f)
{
}
float3 pos;
float3 end;
float3 speed;
float3 spread;
float3 error;
// unit, feature or weapon projectile to intercept
CWorldObject* target;
CUnit* owner;
S3DModel* model;
const WeaponDef* weaponDef;
unsigned int ownerID;
unsigned int teamID;
unsigned int weaponID;
unsigned int cegID;
int ttl;
float gravity;
float tracking;
float maxRange;
// BeamLaser-specific junk
float startAlpha;
float endAlpha;
};
#endif
|