22 #ifndef FREESCAPE_GROUP_H 23 #define FREESCAPE_GROUP_H 25 #include "freescape/gfx.h" 26 #include "freescape/objects/object.h" 35 Math::Vector3d position;
42 Group(uint16 objectID_, uint16 flags_,
44 const Math::Vector3d offset1_,
45 const Math::Vector3d offset2_,
48 void linkObject(
Object *obj);
49 void assemble(
int index);
55 bool collides(
const Math::AABB &aabb);
56 void makePartsInvisible();
60 Math::Vector3d _offset1;
61 Math::Vector3d _offset2;
68 ObjectType getType()
override {
return ObjectType::kGroupType; };
69 bool isDrawable()
override {
return true; }
70 void draw(
Renderer *gfx,
float offset = 0.0)
override;
71 void scale(
int scale_)
override { _scale = scale_; };
72 bool isActive() {
return !isDestroyed() && !isInvisible() && _step > 0 && _active; };
73 Object *duplicate()
override;
78 #endif // FREESCAPE_GLOBAL_H
Graphics::Surface * scale(const Graphics::Surface &srcImage, int xSize, int ySize)