diff --git a/componenets.odin b/componenets.odin index e69de29..9c64c55 100644 --- a/componenets.odin +++ b/componenets.odin @@ -0,0 +1,14 @@ +package shoal + +import rl "vendor:raylib" + +Sprite :: struct { + texture: rl.Texture2D, +} +sprites: Storage(Sprite) + +Transform :: struct { + translation: rl.Vector2, + rotation: int, +} +transforms: Storage(Transform) diff --git a/systems.odin b/systems.odin new file mode 100644 index 0000000..a02211e --- /dev/null +++ b/systems.odin @@ -0,0 +1,19 @@ +package shoal + +import rl "vendor:raylib" + +DefaultPlugin :: proc(app: ^App) { + add_system(app, UPDATE, draw_sprite) +} + +draw_sprite :: proc() { + for i, &v in sprites.data { + sprite_transform := transforms.data[i] + rl.DrawTexture( + v.texture, + i32(sprite_transform.translation.x), + i32(sprite_transform.translation.y), + rl.WHITE, + ) + } +}