Files
axyz/include/Game/Systems/Weapon/WeaponBehaviour.h
T
2016-02-11 17:06:34 +01:00

32 lines
808 B
C++

#ifndef WeaponBehaviour_h__
#define WeaponBehaviour_h__
#include "Core/System.h"
#include "Core/Octree.h"
#include "Collision/EntityAABB.h"
class WeaponBehaviour : public System
{
public:
WeaponBehaviour(SystemParams systemParams, Octree<EntityAABB>* collisionOctree, EntityWrapper weaponEntity)
: System(systemParams)
, m_CollisionOctree(collisionOctree)
, m_Entity(weaponEntity)
{ }
virtual ~WeaponBehaviour() = default;
WeaponBehaviour(const WeaponBehaviour&) = delete;
WeaponBehaviour& operator=(const WeaponBehaviour &) = delete;
virtual void Fire() = 0;
virtual void CeaseFire() { }
virtual void Reload() { }
virtual void Update(double dt) { }
protected:
Octree<EntityAABB>* m_CollisionOctree;
EntityWrapper m_Entity;
};
#endif