summaryrefslogtreecommitdiffhomepage
path: root/signatures.rb
diff options
context:
space:
mode:
Diffstat (limited to 'signatures.rb')
-rw-r--r--signatures.rb54
1 files changed, 54 insertions, 0 deletions
diff --git a/signatures.rb b/signatures.rb
new file mode 100644
index 0000000..c11c048
--- /dev/null
+++ b/signatures.rb
@@ -0,0 +1,54 @@
+class ID
+ class <<self
+ @next_id = 0b0_010_000_000_000
+
+ def create_new_id(name)
+ temp = @next_id
+ @next_id *= 2
+ define_singleton_method(name) do
+ temp
+ end
+ send(name)
+ end
+
+ def renderable
+ 0b0_001
+ end
+
+ def sprite
+ 0b0_010
+ end
+
+ def label
+ 0b0_100
+ end
+
+ def player_control
+ 0b0_001_000
+ end
+
+ def map
+ 0b0_010_000
+ end
+
+ def interactable
+ 0b0_100_000
+ end
+
+ def collidable
+ 0b0_001_000_000
+ end
+
+ def overworld
+ 0b0_010_000_000
+ end
+
+ def indoor
+ 0b0_100_000_000
+ end
+
+ def battle
+ 0b0_001_000_000_000
+ end
+ end
+end