summaryrefslogtreecommitdiffstats
path: root/src/Entities
diff options
context:
space:
mode:
Diffstat (limited to 'src/Entities')
-rw-r--r--src/Entities/Compoments/Component.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/Entities/Compoments/Component.h b/src/Entities/Compoments/Component.h
index 3d7ebccaa..24a13e62a 100644
--- a/src/Entities/Compoments/Component.h
+++ b/src/Entities/Compoments/Component.h
@@ -1,3 +1,5 @@
+#pragma once
+
#include "Entity.h"
class cComponent
@@ -6,4 +8,28 @@ 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(){}
+
+ // Reactions
+ virtual void OnTakeDamage(TakeDamageInfo & a_TDI){}
+ virtual void OnRightClicked(){}
+ virtual void OnKilled(cEntity * a_Killer = NULL){}
+ //virtual void OnDestroy(){}
+
+ // Logic
+ virtual void OnAttackEntity(cEntity * a_Entity){}
}; \ No newline at end of file