2013-11-28 08:33:29 +01:00
|
|
|
//////////////////////////////////////////////////
|
|
|
|
//Created by Erik and Linda of the GameLogic team
|
|
|
|
//////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
2013-11-19 18:35:35 +01:00
|
|
|
#ifndef OBJECT_H
|
|
|
|
#define OBJECT_H
|
|
|
|
|
2013-12-12 09:36:14 +01:00
|
|
|
#include "GameLogicStates.h"
|
2014-01-10 10:08:42 +01:00
|
|
|
#include <PhysicsAPI.h>
|
2013-12-12 12:16:13 +01:00
|
|
|
|
2013-11-19 18:35:35 +01:00
|
|
|
namespace GameLogic
|
|
|
|
{
|
2014-01-20 15:47:52 +01:00
|
|
|
class Game;
|
|
|
|
|
2014-01-14 09:25:22 +01:00
|
|
|
class Object
|
2013-11-19 18:35:35 +01:00
|
|
|
{
|
2013-11-29 09:23:00 +01:00
|
|
|
public:
|
2013-12-12 09:36:14 +01:00
|
|
|
Object();
|
|
|
|
Object(void* collisionFunc, OBJECT_TYPE type);
|
|
|
|
~Object(void);
|
2013-11-19 18:35:35 +01:00
|
|
|
|
2014-01-15 11:03:25 +01:00
|
|
|
OBJECT_TYPE GetType() const;
|
|
|
|
int GetID() const;
|
2013-12-12 12:16:13 +01:00
|
|
|
Oyster::Physics::ICustomBody* GetRigidBody();
|
2014-01-22 14:26:45 +01:00
|
|
|
void ApplyLinearImpulse(Oyster::Math::Float4 force);
|
2013-12-12 12:16:13 +01:00
|
|
|
|
2014-01-20 15:47:52 +01:00
|
|
|
void BeginFrame();
|
|
|
|
void EndFrame();
|
|
|
|
|
2013-11-19 18:35:35 +01:00
|
|
|
private:
|
2013-11-26 11:30:49 +01:00
|
|
|
OBJECT_TYPE type;
|
2013-12-18 13:01:13 +01:00
|
|
|
int objectID;
|
2014-01-20 15:47:52 +01:00
|
|
|
|
2013-11-19 18:35:35 +01:00
|
|
|
protected:
|
2013-11-28 09:26:29 +01:00
|
|
|
Oyster::Physics::ICustomBody *rigidBody;
|
2014-01-15 11:03:25 +01:00
|
|
|
Oyster::Physics::ICustomBody::State setState;
|
|
|
|
Oyster::Physics::ICustomBody::State getState;
|
2014-01-09 13:06:18 +01:00
|
|
|
|
2014-01-20 15:47:52 +01:00
|
|
|
static const Game* gameInstance;
|
|
|
|
|
2013-11-19 18:35:35 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|