#ifndef ECS_H #define ECS_H #include "bindings/ruby.h" #include "utils.h" struct Entity { Vec2 position; std::unordered_map components; }; struct Component { enum struct Type { Int, Float, Boolean, RubyObject }; std::unordered_map> globals; std::vector> table; }; struct System { Ruby::Block function; }; #endif