summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/object/lamp.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/object/lamp.c b/src/object/lamp.c
new file mode 100644
index 00000000..caf458ad
--- /dev/null
+++ b/src/object/lamp.c
@@ -0,0 +1,23 @@
+#include "entity.h"
+
+void Lamp_Init(Entity* this);
+void Lamp_Action1(Entity* this);
+
+void Lamp(Entity* this) {
+ static void (*const actionFuncs[])(Entity*) = {
+ Lamp_Init,
+ Lamp_Action1,
+ };
+
+ actionFuncs[this->action](this);
+}
+
+void Lamp_Init(Entity* this) {
+ this->action = 1;
+ UpdateSpriteForCollisionLayer(this);
+ InitializeAnimation(this, 0);
+}
+
+void Lamp_Action1(Entity* this) {
+ GetNextFrame(this);
+}