2013-11-19 18:35:35 +01:00
|
|
|
#ifndef OBJECT_H
|
|
|
|
#define OBJECT_H
|
|
|
|
|
2013-11-21 12:05:39 +01:00
|
|
|
#include "Model/Model.h"
|
|
|
|
#include "Render/Rendering/Render.h"
|
|
|
|
#include "Utilities.h"
|
2013-11-25 11:03:06 +01:00
|
|
|
#include "PhysicsAPI.h"
|
|
|
|
|
2013-11-19 18:35:35 +01:00
|
|
|
namespace GameLogic
|
|
|
|
{
|
2013-11-26 11:30:49 +01:00
|
|
|
|
2013-11-19 18:35:35 +01:00
|
|
|
|
|
|
|
class Object
|
|
|
|
{
|
2013-11-26 11:30:49 +01:00
|
|
|
|
|
|
|
|
2013-11-19 18:35:35 +01:00
|
|
|
|
|
|
|
public:
|
|
|
|
Object(void);
|
2013-11-21 12:05:39 +01:00
|
|
|
virtual ~Object(void);
|
2013-11-26 11:30:49 +01:00
|
|
|
|
|
|
|
enum OBJECT_TYPE
|
|
|
|
{
|
|
|
|
OBJECT_TYPE_PLAYER,
|
|
|
|
OBJECT_TYPE_BOX,
|
|
|
|
};
|
2013-11-26 09:19:59 +01:00
|
|
|
|
2013-11-21 12:05:39 +01:00
|
|
|
void Render();
|
2013-11-19 18:35:35 +01:00
|
|
|
|
2013-11-26 11:30:49 +01:00
|
|
|
OBJECT_TYPE GetType();
|
|
|
|
|
2013-11-19 18:35:35 +01:00
|
|
|
private:
|
2013-11-26 11:30:49 +01:00
|
|
|
OBJECT_TYPE type;
|
2013-11-19 18:35:35 +01:00
|
|
|
|
|
|
|
protected:
|
2013-11-20 12:23:45 +01:00
|
|
|
//either a model pointer or an ID to an arraypos filled with models that are to be rendered
|
2013-11-19 18:35:35 +01:00
|
|
|
//rigidBody
|
|
|
|
|
2013-11-26 09:19:59 +01:00
|
|
|
Utility::DynamicMemory::UniquePointer<Oyster::Physics::ICustomBody> rigidBody;
|
|
|
|
Utility::DynamicMemory::UniquePointer<Oyster::Graphics::Render::Model> model;
|
2013-11-19 18:35:35 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|