<commit_before>#ifndef SSPAPPLICATION_ENTITIES_ENTITY_H
#define SSPAPPLICATION_ENTITIES_ENTITY_H
#include "Observer.h"
#include "Subject.h"
#include "InputHandler.h"
//Subject includes this for the events
#include "../GraphicsDLL/GraphicsHandler.h"
#include "../physicsDLL/PhysicsHandler.h"
#include "../AIDLL/AIHandler.h"
#include "ComponentHandler.h"
class Entity :
	public Observer
{
private:
	//Variables
protected:
	int m_entityID;
	bool m_isGrabbed;
	Entity* m_isGrabbedBy;
	Subject m_subject;
	PhysicsComponent* m_pComp;
	GraphicsComponent* m_gComp;
	AIComponent* m_aiComp;

public:
	Entity();
	virtual ~Entity();

	//dT should be in seconds
	virtual int Update(float dT, InputHandler* inputHandler) = 0;
	virtual int React(int entityID, EVENT reactEvent) = 0;

	//Returns 1 if synchronization was needed, -1 if physicscomponent was missing, -2 if graphicscomponent was missing, -3 if both components were missing.
	int SyncComponents();<commit_msg>FIX entity ID is now stored in unsigned int<commit_after>#ifndef SSPAPPLICATION_ENTITIES_ENTITY_H
#define SSPAPPLICATION_ENTITIES_ENTITY_H
#include "Observer.h"
#include "Subject.h"
#include "InputHandler.h"
//Subject includes this for the events
#include "../GraphicsDLL/GraphicsHandler.h"
#include "../physicsDLL/PhysicsHandler.h"
#include "../AIDLL/AIHandler.h"
#include "ComponentHandler.h"
class Entity :
	public Observer
{
private:
	//Variables
protected:
	unsigned int m_entityID;
	bool m_isGrabbed;
	Entity* m_isGrabbedBy;
	Subject m_subject;
	PhysicsComponent* m_pComp;
	GraphicsComponent* m_gComp;
	AIComponent* m_aiComp;

public:
	Entity();
	virtual ~Entity();

	//dT should be in seconds
	virtual int Update(float dT, InputHandler* inputHandler) = 0;
	virtual int React(int entityID, EVENT reactEvent) = 0;

	//Returns 1 if synchronization was needed, -1 if physicscomponent was missing, -2 if graphicscomponent was missing, -3 if both components were missing.
	int SyncComponents();
{'fraction_non_alphanumeric': 0.09943618657098924, 'fraction_numerical': 0.006150691952844695, 'mean_word_length': 5.506666666666667, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1056623', 'n_tokens_mistral': 648, 'n_tokens_neox': 629, 'n_words': 192}