summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Entities/Compoments/AIComponent.h14
-rw-r--r--src/Entities/Compoments/AttackComponent.h14
-rw-r--r--src/Entities/Compoments/Component.h38
-rw-r--r--src/Entities/Compoments/EnvironmentComponent.h20
-rw-r--r--src/Entities/Compoments/InteractionComponent.h20
-rw-r--r--src/Entities/Compoments/ModelComponent.h18
-rw-r--r--src/Entities/Compoments/MovementComponent.h12
7 files changed, 98 insertions, 38 deletions
diff --git a/src/Entities/Compoments/AIComponent.h b/src/Entities/Compoments/AIComponent.h
new file mode 100644
index 000000000..483fe4164
--- /dev/null
+++ b/src/Entities/Compoments/AIComponent.h
@@ -0,0 +1,14 @@
+#pragma once
+
+#include "../Entity.h"
+
+class cAIComponent
+{
+protected:
+ cEntity * m_Self;
+public:
+ cAIComponent(cEntity * a_Entity) : m_Self(a_Entity){}
+
+ virtual void Tick(float a_Dt, cChunk & a_Chunk){}
+
+}; \ No newline at end of file
diff --git a/src/Entities/Compoments/AttackComponent.h b/src/Entities/Compoments/AttackComponent.h
new file mode 100644
index 000000000..1b465ef4f
--- /dev/null
+++ b/src/Entities/Compoments/AttackComponent.h
@@ -0,0 +1,14 @@
+#pragma once
+
+#include "../Entity.h"
+
+class cAttackComponent
+{
+protected:
+ cEntity * m_Self;
+public:
+ cAttackComponent(cEntity * a_Entity) : m_Self(a_Entity){}
+
+ virtual void OnAttackEntity(cEntity * a_Entity){}
+
+}; \ No newline at end of file
diff --git a/src/Entities/Compoments/Component.h b/src/Entities/Compoments/Component.h
deleted file mode 100644
index 30b873823..000000000
--- a/src/Entities/Compoments/Component.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#pragma once
-
-#include "Entity.h"
-
-class cComponent
-{
-protected:
- cEntity * m_Self;
-public:
- cComponent(cEntity * a_Entity) : m_Self(a_Entity){}
-
-
- // General
- virtual void Tick(float a_Dt, cChunk & a_Chunk){}
- virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = NULL){}
- virtual void SpawnOn(cClientHandle & a_Client){}
-
- // World/Model Interaction
- virtual void HandlePhysics(float a_Dt, cChunk & a_Chunk){}
- virtual void OnCollisionWithEntity(cEntity * a_Entity){}
-
- // Environmental Reactions
- virtual void OnCollisionWithBlock(Vector3i & a_Position, BLOCKTYPE a_Block){}
- virtual void OnStartedBurning(){}
- virtual void OnFinishedBurning(){}
- virtual void OnStartedDrowning(){}
- virtual void OnFinishedDrowning(){}
-
- // Reactions
- virtual void OnTakeDamage(TakeDamageInfo & a_TDI){}
- virtual void OnRightClicked(){}
- virtual void OnKilled(cEntity * a_Killer = NULL){}
- // virtual void OnPickup(){}
- // virtual void OnDestroy(){}
-
- // Logic
- virtual void OnAttackEntity(cEntity * a_Entity){}
-}; \ No newline at end of file
diff --git a/src/Entities/Compoments/EnvironmentComponent.h b/src/Entities/Compoments/EnvironmentComponent.h
new file mode 100644
index 000000000..84fd4e2f5
--- /dev/null
+++ b/src/Entities/Compoments/EnvironmentComponent.h
@@ -0,0 +1,20 @@
+#pragma once
+
+#include "../Entity.h"
+
+class cEnvironmentComponent
+{
+protected:
+ cEntity * m_Self;
+public:
+ cEnvironmentComponent(cEntity * a_Entity) : m_Self(a_Entity){}
+
+ virtual void Tick(float a_Dt, cChunk & a_Chunk){}
+
+ virtual void OnCollisionWithBlock(Vector3i & a_Position, BLOCKTYPE a_Block){}
+ virtual void OnStartedBurning(){}
+ virtual void OnFinishedBurning(){}
+ virtual void OnStartedDrowning(){}
+ virtual void OnFinishedDrowning(){}
+
+}; \ No newline at end of file
diff --git a/src/Entities/Compoments/InteractionComponent.h b/src/Entities/Compoments/InteractionComponent.h
new file mode 100644
index 000000000..bd5b7c281
--- /dev/null
+++ b/src/Entities/Compoments/InteractionComponent.h
@@ -0,0 +1,20 @@
+#pragma once
+
+#include "../Entity.h"
+
+class cInteractionComponent
+{
+protected:
+ cEntity * m_Self;
+public:
+ cInteractionComponent(cEntity * a_Entity) : m_Self(a_Entity){}
+
+ virtual void OnCollisionWithEntity(cEntity * a_Entity){}
+
+ virtual void OnTakeDamage(TakeDamageInfo & a_TDI){}
+ virtual void OnRightClicked(){}
+ virtual void OnKilled(cEntity * a_Killer = NULL){}
+ // virtual void OnPickup(){}
+ // virtual void OnDestroy(){}
+
+}; \ No newline at end of file
diff --git a/src/Entities/Compoments/ModelComponent.h b/src/Entities/Compoments/ModelComponent.h
new file mode 100644
index 000000000..820ac1130
--- /dev/null
+++ b/src/Entities/Compoments/ModelComponent.h
@@ -0,0 +1,18 @@
+#pragma once
+
+#include "../Entity.h"
+
+class cModelComponent
+{
+protected:
+ cEntity * m_Self;
+public:
+ cModelComponent(cEntity * a_Entity) : m_Self(a_Entity){}
+ virtual void SpawnOn(cClientHandle & a_Client){}
+ virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = NULL){}
+
+ virtual void HandlePhysics(float a_Dt, cChunk & a_Chunk){}
+ virtual void OnCollisionWithEntity(cEntity * a_Entity){}
+
+
+}; \ No newline at end of file
diff --git a/src/Entities/Compoments/MovementComponent.h b/src/Entities/Compoments/MovementComponent.h
new file mode 100644
index 000000000..dda215ade
--- /dev/null
+++ b/src/Entities/Compoments/MovementComponent.h
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "../Entity.h"
+
+class cMovementComponent
+{
+protected:
+ cEntity * m_Self;
+public:
+ cMovementComponent(cEntity * a_Entity) : m_Self(a_Entity){}
+
+}; \ No newline at end of file