Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Flightgroup Class Reference

#include <flightgroup.h>

Public Member Functions

void Decrement (Unit *trashed)
 
 Flightgroup ()
 
void Init (Flightgroup *fg, const std::string &name, const std::string &type, const std::string &faction, const std::string &order, int num_ships, int num_waves, Mission *mis)
 
 Flightgroup (Flightgroup &other)
 
Flightgroupoperator= (Flightgroup &other)
 
 ~Flightgroup ()
 

Static Public Member Functions

static FlightgroupnewFlightgroup (const std::string &name, const std::string &type, const std::string &faction, const std::string &order, int num_ships, int num_waves, const std::string &texname, const std::string &alphname, class Mission *mis)
 

Public Attributes

UnitContainer leader
 
UnitContainer target
 
int leader_decision
 
TexturesquadLogo
 
std::string directive
 
std::string name
 
std::string type
 
std::string ainame
 
std::string faction
 
int flightgroup_nr
 
int nr_ships
 
QVector pos
 
int nr_ships_left
 
int nr_waves_left
 
vsUMap< std::string, std::string > ordermap
 
std::vector< class varInst * > * orderlist
 

Detailed Description

Definition at line 12 of file flightgroup.h.

Constructor & Destructor Documentation

Flightgroup::Flightgroup ( )
inline

Definition at line 50 of file flightgroup.h.

References flightgroup_nr, leader_decision, nr_ships, nr_ships_left, nr_waves_left, orderlist, and squadLogo.

Referenced by newFlightgroup().

50  : pos( 0, 0, 0 )
51  {
52  //betterto have a flightgroup constructor
53  //fprintf (stderr,"constructing FG 0x%x\n",this);
54  orderlist = NULL;
56  leader_decision = -1;
57  squadLogo = NULL;
58  }
Flightgroup::Flightgroup ( Flightgroup other)
inline

Definition at line 88 of file flightgroup.h.

89  {
90  *this = other;
91  }
Flightgroup::~Flightgroup ( )

Definition at line 30 of file flightgroup.cpp.

References squadLogo.

31 {
32  if (squadLogo)
33  delete squadLogo;
34 }

Member Function Documentation

void Flightgroup::Decrement ( Unit trashed)
inline

Definition at line 34 of file flightgroup.h.

References UnitContainer::GetUnit(), leader, nr_ships, nr_ships_left, and UnitContainer::SetUnit().

Referenced by FireKeyboard::JoinFg(), and UnitUtil::switchFg().

35  {
36  nr_ships--;
37  nr_ships_left--;
38  if (leader.GetUnit() == trashed)
39  leader.SetUnit( NULL );
40  }
void Flightgroup::Init ( Flightgroup fg,
const std::string &  name,
const std::string &  type,
const std::string &  faction,
const std::string &  order,
int  num_ships,
int  num_waves,
Mission mis 
)
inline

Definition at line 59 of file flightgroup.h.

References Mission::AddFlightgroup(), ainame, directive, faction, leader, mission, name, nr_ships, nr_ships_left, nr_waves_left, target, and type.

Referenced by newFlightgroup().

67  {
68  bool new_fg = false;
69  if (fg == NULL) {
70  new_fg = true;
71  this->name = name;
72  this->directive = "b";
73  this->faction = faction;
74  } else {
75  new_fg = (this->nr_waves_left == 0 && this->nr_ships_left == 0);
76  }
77  if (new_fg) {
78  this->nr_waves_left = num_waves-1;
79  mission->AddFlightgroup( this );
80  }
81  this->target = NULL;
82  this->leader = NULL;
83  this->ainame = order;
84  this->type = type;
85  this->nr_ships += num_ships;
86  this->nr_ships_left += num_ships;
87  }
Flightgroup * Flightgroup::newFlightgroup ( const std::string &  name,
const std::string &  type,
const std::string &  faction,
const std::string &  order,
int  num_ships,
int  num_waves,
const std::string &  texname,
const std::string &  alphname,
class Mission mis 
)
static

Definition at line 7 of file flightgroup.cpp.

References Mission::findFlightgroup(), Flightgroup(), Init(), MIPMAP, squadLogo, and BaseUtil::Texture().

Referenced by UniverseUtil::launchJumppoint(), UnitFactory::parseUnitBuffer(), Mount::PhysicsAlignedFire(), and UnitUtil::switchFg().

16 {
17  Flightgroup *fg = mis->findFlightgroup( name, faction );
18  Flightgroup *fgtmp = fg;
19  if (fg == NULL)
20  fg = new Flightgroup;
21  fg->Init( fgtmp, name, type, faction, order, num_ships, num_waves, mis );
22  if ( !logo_tex.empty() ) {
23  if ( logo_alp.empty() )
24  fg->squadLogo = new Texture( logo_tex.c_str(), 0, MIPMAP );
25  else
26  fg->squadLogo = new Texture( logo_tex.c_str(), logo_alp.c_str(), 0, MIPMAP );
27  }
28  return fg;
29 }
Flightgroup & Flightgroup::operator= ( Flightgroup other)

Definition at line 36 of file flightgroup.cpp.

References Texture::Clone(), and squadLogo.

37 {
38  printf( "warning: may not work properly" );
39  if (squadLogo)
40  squadLogo = other.squadLogo->Clone();
41  return other;
42 }

Member Data Documentation

std::string Flightgroup::ainame
std::string Flightgroup::faction
int Flightgroup::flightgroup_nr
int Flightgroup::leader_decision

Definition at line 19 of file flightgroup.h.

Referenced by Flightgroup().

int Flightgroup::nr_waves_left
std::vector< class varInst* >* Flightgroup::orderlist

Definition at line 32 of file flightgroup.h.

Referenced by Mission::DirectorShipDestroyed(), and Flightgroup().

vsUMap< std::string, std::string > Flightgroup::ordermap

Definition at line 31 of file flightgroup.h.

Texture* Flightgroup::squadLogo

Definition at line 20 of file flightgroup.h.

Referenced by Flightgroup(), newFlightgroup(), operator=(), and ~Flightgroup().

std::string Flightgroup::type

The documentation for this class was generated from the following files: