forked from pioneerspacesim/pioneer
-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
CargoBody.h
33 lines (28 loc) · 1.03 KB
/
CargoBody.h
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
// Copyright © 2008-2014 Pioneer Developers. See AUTHORS.txt for details
// Licensed under the terms of the GPL v3. See licenses/GPL-3.txt
#ifndef _CARGOBODY_H
#define _CARGOBODY_H
#include "libs.h"
#include "DynamicBody.h"
#include "EquipType.h"
#include "LuaRef.h"
namespace Graphics { class Renderer; }
class CargoBody: public DynamicBody {
public:
OBJDEF(CargoBody, DynamicBody, CARGOBODY);
CargoBody(const LuaRef& cargo);
CargoBody() {}
LuaRef GetCargoType() const { return m_cargo; }
virtual void SetLabel(const std::string &label);
virtual void Render(Graphics::Renderer *r, const Camera *camera, const vector3d &viewCoords, const matrix4x4d &viewTransform);
virtual bool OnCollision(Object *o, Uint32 flags, double relVel);
virtual bool OnDamage(Object *attacker, float kgDamage, const CollisionContact& contactData);
protected:
virtual void Save(Serializer::Writer &wr, Space *space);
virtual void Load(Serializer::Reader &rd, Space *space);
private:
void Init();
LuaRef m_cargo;
float m_hitpoints;
};
#endif /* _CARGOBODY_H */