From: Brendan Hansen Date: Wed, 2 Mar 2022 03:09:18 +0000 (-0600) Subject: spawning patrons at the entry way X-Git-Url: https://git.brendanfh.com/?a=commitdiff_plain;h=73611082ca7f3afe7a303db4fe97b763e54717c7;p=bar-game.git spawning patrons at the entry way --- diff --git a/run_tree/scenes/quick_save_new.scene b/run_tree/scenes/quick_save_new.scene index 8c8df20..45034de 100644 --- a/run_tree/scenes/quick_save_new.scene +++ b/run_tree/scenes/quick_save_new.scene @@ -82,57 +82,6 @@ color.g = 1.0000 color.b = 1.0000 color.a = 1.0000 -[Tap] -id = 18 -flags = 3 -pos.x = 208.0000 -pos.y = 32.0000 -size.x = 32.0000 -size.y = 32.0000 -:RenderComponent -layer = 0 -color.r = 1.0000 -color.g = 1.0000 -color.b = 1.0000 -color.a = 1.0000 -:DispenserComponent -item = "beer" -max_timeout = 2.0000 - -[Tap] -id = 19 -flags = 3 -pos.x = 176.0000 -pos.y = 32.0000 -size.x = 32.0000 -size.y = 32.0000 -:RenderComponent -layer = 0 -color.r = 1.0000 -color.g = 1.0000 -color.b = 1.0000 -color.a = 1.0000 -:DispenserComponent -item = "beer" -max_timeout = 2.0000 - -[Tap] -id = 20 -flags = 3 -pos.x = 144.0000 -pos.y = 32.0000 -size.x = 32.0000 -size.y = 32.0000 -:RenderComponent -layer = 0 -color.r = 1.0000 -color.g = 1.0000 -color.b = 1.0000 -color.a = 1.0000 -:DispenserComponent -item = "beer" -max_timeout = 2.0000 - [Wall] id = 25 flags = 2 @@ -190,7 +139,7 @@ color.b = 1.0000 color.a = 1.0000 :FurnitureComponent furniture_type = 0 -taken = true +taken = false sprite.sheet = "./assets/images/spritesheet.png" sprite.pos.x = 32.0000 sprite.pos.y = 32.0000 @@ -268,7 +217,7 @@ color.b = 1.0000 color.a = 1.0000 :FurnitureComponent furniture_type = 0 -taken = true +taken = false sprite.sheet = "./assets/images/spritesheet.png" sprite.pos.x = 32.0000 sprite.pos.y = 32.0000 @@ -331,6 +280,162 @@ sprite.color.g = 1.0000 sprite.color.b = 1.0000 sprite.color.a = 1.0000 +[Furniture] +id = 55 +flags = 2 +pos.x = 536.0000 +pos.y = 256.0000 +size.x = 16.0000 +size.y = 32.0000 +:RenderComponent +layer = 0 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 32.0000 +sprite.pos.y = 32.0000 +sprite.size.x = 16.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 + +[Furniture] +id = 54 +flags = 2 +pos.x = 584.0000 +pos.y = 256.0000 +size.x = 16.0000 +size.y = 32.0000 +:RenderComponent +layer = 0 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 48.0000 +sprite.pos.y = 32.0000 +sprite.size.x = -16.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 + +[Furniture] +id = 53 +flags = 2 +pos.x = 560.0000 +pos.y = 256.0000 +size.x = 32.0000 +size.y = 32.0000 +:RenderComponent +layer = 0 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 +:FurnitureComponent +furniture_type = 1 +taken = false +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 48.0000 +sprite.pos.y = 32.0000 +sprite.size.x = 32.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 + +[Furniture] +id = 52 +flags = 2 +pos.x = 536.0000 +pos.y = 336.0000 +size.x = 16.0000 +size.y = 32.0000 +:RenderComponent +layer = 0 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 32.0000 +sprite.pos.y = 32.0000 +sprite.size.x = 16.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 + +[Furniture] +id = 51 +flags = 2 +pos.x = 584.0000 +pos.y = 336.0000 +size.x = 16.0000 +size.y = 32.0000 +:RenderComponent +layer = 0 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 +:FurnitureComponent +furniture_type = 0 +taken = false +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 48.0000 +sprite.pos.y = 32.0000 +sprite.size.x = -16.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 + +[Furniture] +id = 50 +flags = 2 +pos.x = 560.0000 +pos.y = 336.0000 +size.x = 32.0000 +size.y = 32.0000 +:RenderComponent +layer = 0 +color.r = 1.0000 +color.g = 1.0000 +color.b = 1.0000 +color.a = 1.0000 +:FurnitureComponent +furniture_type = 1 +taken = false +sprite.sheet = "./assets/images/spritesheet.png" +sprite.pos.x = 48.0000 +sprite.pos.y = 32.0000 +sprite.size.x = 32.0000 +sprite.size.y = 32.0000 +sprite.color.r = 1.0000 +sprite.color.g = 1.0000 +sprite.color.b = 1.0000 +sprite.color.a = 1.0000 + [Wall] id = 35 flags = 2 @@ -390,24 +495,3 @@ color.a = 1.0000 item = "beer" max_timeout = 2.0000 -[Patron] -id = 22 -flags = 3 -pos.x = 319.2968 -pos.y = 422.7386 -size.x = 16.0000 -size.y = 32.0000 -:RenderComponent -layer = 5 -color.r = 1.0000 -color.g = 0.0000 -color.b = 0.0000 -color.a = 1.0000 -:PatronComponent -state = 0 -seat = 30 -order_item = "beer" -order_show_animation = 0.0000 -holding = 0 -consume_timeout = 0.0000 - diff --git a/src/entity/components/patron.onyx b/src/entity/components/patron.onyx index 90d54ef..87b4d82 100644 --- a/src/entity/components/patron.onyx +++ b/src/entity/components/patron.onyx @@ -45,6 +45,11 @@ PatronComponent :: struct { break; } } + + if seat == Entity_Nothing { + state = .Leaving; + return; + } } seat_entity := scene->get(seat); diff --git a/src/game.onyx b/src/game.onyx index 3099419..5a6a959 100644 --- a/src/game.onyx +++ b/src/game.onyx @@ -15,6 +15,8 @@ scene_canvas: Canvas; Spritesheet: Texture; +patron_spawn_timeout := 5.0f; + game_init :: () { Audio_Manager.init(); @@ -54,6 +56,15 @@ game_update :: (dt: f32) { } scene->update(dt); + patron_spawn_timeout -= dt; + if patron_spawn_timeout < 0 { + patron_spawn_timeout = random.float(5, 10); + + patron := scene->create_from_schematic("Patron"); + patron.pos = .{ 420, 600 }; + patron.size = .{ 16, 32 }; + scene->add(patron); + } } game_draw :: () {