summaryrefslogtreecommitdiffstats
path: root/source/Entities/Pickup.h
diff options
context:
space:
mode:
authormadmaxoft <github@xoft.cz>2013-08-19 11:39:13 +0200
committermadmaxoft <github@xoft.cz>2013-08-19 11:39:13 +0200
commit1a7912744ff2e0abfeae0d2d75af80d73209580c (patch)
treee5372cdfece1852c00ed7b0219ad77ee82ea1858 /source/Entities/Pickup.h
parentFixed timed event wait on Linux. (diff)
downloadcuberite-1a7912744ff2e0abfeae0d2d75af80d73209580c.tar
cuberite-1a7912744ff2e0abfeae0d2d75af80d73209580c.tar.gz
cuberite-1a7912744ff2e0abfeae0d2d75af80d73209580c.tar.bz2
cuberite-1a7912744ff2e0abfeae0d2d75af80d73209580c.tar.lz
cuberite-1a7912744ff2e0abfeae0d2d75af80d73209580c.tar.xz
cuberite-1a7912744ff2e0abfeae0d2d75af80d73209580c.tar.zst
cuberite-1a7912744ff2e0abfeae0d2d75af80d73209580c.zip
Diffstat (limited to 'source/Entities/Pickup.h')
-rw-r--r--source/Entities/Pickup.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/source/Entities/Pickup.h b/source/Entities/Pickup.h
new file mode 100644
index 000000000..1f32c97b5
--- /dev/null
+++ b/source/Entities/Pickup.h
@@ -0,0 +1,59 @@
+
+#pragma once
+
+#include "Entity.h"
+#include "../Item.h"
+
+
+
+
+
+class cPlayer;
+
+
+
+
+
+// tolua_begin
+class cPickup :
+ public cEntity
+{
+ // tolua_end
+ typedef cEntity super;
+
+public:
+ CLASS_PROTODEF(cPickup);
+
+ cPickup(int a_MicroPosX, int a_MicroPosY, int a_MicroPosZ, const cItem & a_Item, float a_SpeedX = 0.f, float a_SpeedY = 0.f, float a_SpeedZ = 0.f); // tolua_export
+
+ virtual bool Initialize(cWorld * a_World) override;
+
+ cItem & GetItem(void) {return m_Item; } // tolua_export
+ const cItem & GetItem(void) const {return m_Item; }
+
+ virtual void SpawnOn(cClientHandle & a_ClientHandle) override;
+
+ virtual bool CollectedBy(cPlayer * a_Dest); // tolua_export
+
+ virtual void Tick(float a_Dt, cChunk & a_Chunk) override;
+
+ short GetHealth(void) const { return m_Health; }
+
+ /// Returns the number of ticks that this entity has existed
+ short GetAge(void) const { return (short)(m_Timer / 50); }
+
+private:
+ Vector3d m_ResultingSpeed; //Can be used to modify the resulting speed for the current tick ;)
+
+ Vector3d m_WaterSpeed;
+
+ float m_Timer;
+
+ cItem m_Item;
+
+ bool m_bCollected;
+}; // tolua_export
+
+
+
+