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
|
#ifndef SELECTEDUNITS_H
#define SELECTEDUNITS_H
// SelectedUnits.h: interface for the CSelectedUnits class.
//
//////////////////////////////////////////////////////////////////////
#include "Object.h"
#include <vector>
#include <set>
#include "Sim/Units/CommandAI/Command.h"
#include "Sim/Units/UnitSet.h"
class CFeature;
class CSelectedUnits : public CObject
{
public:
void Init(unsigned numPlayers);
void SelectGroup(int num);
void AiOrder(int unitid, const Command& c, int playerID);
int GetDefaultCmd(const CUnit* unit, const CFeature* feature);
bool CommandsChanged();
void NetOrder(Command& c,int player);
void NetSelect(vector<int>& s,int player);
void ClearNetSelect(int player);
void DependentDied(CObject* o);
void Draw();
CSelectedUnits();
virtual ~CSelectedUnits();
struct AvailableCommandsStruct{
vector<CommandDescription> commands;
int commandPage;
};
AvailableCommandsStruct GetAvailableCommands();
void GiveCommand(Command c,bool fromUser=true);
void AddUnit(CUnit* unit);
void RemoveUnit(CUnit* unit);
void ClearSelected();
void ToggleBuildIconsFirst();
bool BuildIconsFirst() const { return buildIconsFirst; }
CUnitSet selectedUnits;
bool selectionChanged;
bool possibleCommandsChanged;
std::vector< vector<int> > netSelected;
bool buildIconsFirst;
int selectedGroup;
void PossibleCommandChange(CUnit* sender);
void DrawCommands();
std::string GetTooltip(void);
void SetCommandPage(int page);
void SendSelection(void);
void SendCommand(Command& c);
void SendCommandsToUnits(const vector<int>& unitIDs, const vector<Command>& commands);
};
extern CSelectedUnits selectedUnits;
#endif /* SELECTEDUNITS_H */
|