0ad/source/tools/sced/SelectObjectTool.h
2005-04-03 05:02:00 +00:00

49 lines
1.1 KiB
C++
Executable File

#ifndef _SELECTOBJECTTOOL_H
#define _SELECTOBJECTTOOL_H
#include <set>
#include "res/res.h"
#include "BrushTool.h"
#include "Vector3D.h"
#include "Matrix3D.h"
#include "Model.h"
class CUnit;
class CEntity;
class CSelectObjectTool : public CBrushTool
{
public:
CSelectObjectTool();
void OnDraw();
// tool triggered via left mouse button; paint current selection
void OnLButtonDown(unsigned int flags,int px,int py) { SelectObject(flags,px,py); }
// return the entity of the first selected object, or null if it can't
// (TODO: less hackiness, for the whole player-selection system)
CEntity* GetFirstEntity();
void DeleteSelected();
// get the default select object instance
static CSelectObjectTool* GetTool() { return &m_SelectObjectTool; }
private:
// try and select the object under the cursor
void SelectObject(unsigned int flags,int px,int py);
// render bounding box round given unit
void RenderUnitBounds(CUnit* unit);
// list of currently selected units
std::vector<CUnit*> m_SelectedUnits;
// default tool instance
static CSelectObjectTool m_SelectObjectTool;
};
#endif