diff options
Diffstat (limited to 'src/platform.odin')
| -rw-r--r-- | src/platform.odin | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/platform.odin b/src/platform.odin index 0e4d93b..fc50923 100644 --- a/src/platform.odin +++ b/src/platform.odin @@ -31,16 +31,22 @@ clear_platforms :: proc() { } } -setup_map_collisions :: proc() { +setup_room_collisions :: proc() { clear_platforms() - make_map_collisions :: proc(x: i32, y: i32, tile_id: u32) { + iterate_room_tiles(current_room.id, proc(x: i32, y: i32, tile_id: u32) { tile := tiles[tile_id] for coll in tile.collisions { make_platform({coll.start + {f32(x), f32(y)}, coll.size}) } - } + }) +} + +on_room_open_platforms :: proc(room_id: Room_Id) { + setup_room_collisions() +} - iterate_room_tiles(current_room.id, make_map_collisions) +object_spawner_collision :: proc(obj: Object_Resource) { + make_platform(Rect{obj.pos, obj.size}) } |
