51 lines
1.0 KiB
C++
51 lines
1.0 KiB
C++
#ifndef _PAINTOBJECTCOMMAND_H
|
|
#define _PAINTOBJECTCOMMAND_H
|
|
|
|
#include "Command.h"
|
|
#include "Matrix3D.h"
|
|
#include "Entity.h"
|
|
|
|
class CUnit;
|
|
class CBaseEntity;
|
|
class CObjectThing;
|
|
|
|
class CPaintObjectCommand : public CCommand
|
|
{
|
|
public:
|
|
// constructor, destructor
|
|
CPaintObjectCommand(CObjectThing* entity, const CMatrix3D& transform);
|
|
~CPaintObjectCommand();
|
|
|
|
// return the texture name of this command
|
|
const char* GetName() const { return "Add Unit"; }
|
|
|
|
// execute this command
|
|
void Execute();
|
|
|
|
// can undo command?
|
|
bool IsUndoable() const { return false; }
|
|
// undo
|
|
void Undo();
|
|
// redo
|
|
void Redo();
|
|
|
|
// notification that command has finished (ie object stopped rotating) - convert
|
|
// unit to entity if there's a template for it
|
|
void Finalize();
|
|
|
|
void UpdateTransform(CMatrix3D& transform);
|
|
|
|
// return unit added to world
|
|
// CUnit* GetUnit() { return m_Unit; }
|
|
|
|
private:
|
|
// unit to add to world
|
|
HEntity m_Entity;
|
|
// entity to paint
|
|
CObjectThing* m_Thing;
|
|
// model transformation
|
|
CMatrix3D m_Transform;
|
|
};
|
|
|
|
#endif
|