size.y = 32.0000
:FurnitureComponent
furniture_type = 0
-taken = true
+taken = false
:SpriteRenderComponent
sprite.sheet = "./assets/images/spritesheet.png"
sprite.pos.x = 32.0000
size.y = 32.0000
:FurnitureComponent
furniture_type = 0
-taken = true
+taken = false
:SpriteRenderComponent
sprite.sheet = "./assets/images/spritesheet.png"
sprite.pos.x = 48.0000
size.y = 32.0000
:FurnitureComponent
furniture_type = 0
-taken = true
+taken = false
:SpriteRenderComponent
sprite.sheet = "./assets/images/spritesheet.png"
sprite.pos.x = 32.0000
size.y = 32.0000
:FurnitureComponent
furniture_type = 0
-taken = true
+taken = false
:SpriteRenderComponent
sprite.sheet = "./assets/images/spritesheet.png"
sprite.pos.x = 48.0000
size.y = 32.0000
:FurnitureComponent
furniture_type = 0
-taken = true
+taken = false
:SpriteRenderComponent
sprite.sheet = "./assets/images/spritesheet.png"
sprite.pos.x = 48.0000
size.y = 32.0000
:FurnitureComponent
furniture_type = 0
-taken = true
+taken = false
:SpriteRenderComponent
sprite.sheet = "./assets/images/spritesheet.png"
sprite.pos.x = 48.0000
size.y = 32.0000
:FurnitureComponent
furniture_type = 0
-taken = true
+taken = false
:SpriteRenderComponent
sprite.sheet = "./assets/images/spritesheet.png"
sprite.pos.x = 48.0000
size.y = 32.0000
:FurnitureComponent
furniture_type = 0
-taken = true
+taken = false
:SpriteRenderComponent
sprite.sheet = "./assets/images/spritesheet.png"
sprite.pos.x = 48.0000
size.y = 32.0000
:FurnitureComponent
furniture_type = 0
-taken = true
+taken = false
:SpriteRenderComponent
sprite.sheet = "./assets/images/spritesheet.png"
sprite.pos.x = 48.0000
size.y = 32.0000
:FurnitureComponent
furniture_type = 0
-taken = true
+taken = false
:SpriteRenderComponent
sprite.sheet = "./assets/images/spritesheet.png"
sprite.pos.x = 32.0000
size.y = 32.0000
:FurnitureComponent
furniture_type = 0
-taken = true
+taken = false
:SpriteRenderComponent
sprite.sheet = "./assets/images/spritesheet.png"
sprite.pos.x = 32.0000
size.y = 32.0000
:FurnitureComponent
furniture_type = 0
-taken = true
+taken = false
:SpriteRenderComponent
sprite.sheet = "./assets/images/spritesheet.png"
sprite.pos.x = 32.0000
size.y = 32.0000
:FurnitureComponent
furniture_type = 0
-taken = true
+taken = false
:SpriteRenderComponent
sprite.sheet = "./assets/images/spritesheet.png"
sprite.pos.x = 48.0000
size.y = 32.0000
:FurnitureComponent
furniture_type = 0
-taken = false
+taken = true
:SpriteRenderComponent
sprite.sheet = "./assets/images/spritesheet.png"
sprite.pos.x = 48.0000
size.y = 24.0000
:FurnitureComponent
furniture_type = 0
-taken = true
+taken = false
:SpriteRenderComponent
sprite.sheet = "./assets/images/spritesheet.png"
sprite.pos.x = 112.0000
size.y = 24.0000
:FurnitureComponent
furniture_type = 0
-taken = true
+taken = false
:SpriteRenderComponent
sprite.sheet = "./assets/images/spritesheet.png"
sprite.pos.x = 112.0000
size.y = 24.0000
:FurnitureComponent
furniture_type = 0
-taken = true
+taken = false
:SpriteRenderComponent
sprite.sheet = "./assets/images/spritesheet.png"
sprite.pos.x = 112.0000
max_timeout = 2.0000
[Patron]
-id = 330
+id = 326
flags = 3
-pos.x = 696.0000
-pos.y = 176.0000
+pos.x = 383.1329
+pos.y = 578.2564
size.x = 16.0000
size.y = 32.0000
:RenderComponent
color.b = 0.0000
color.a = 1.0000
:PatronComponent
-state = 1
-target = 278
-order_item = "burger"
-order_show_animation = 0.0000
-holding = 0
-consume_timeout = 0.0000
-annoy_timeout = 0.0000
-
-[Patron]
-id = 341
-flags = 3
-pos.x = 696.0000
-pos.y = 96.0000
-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 = 1
-target = 277
-order_item = "beer"
-order_show_animation = 0.0000
-holding = 0
-consume_timeout = 0.0000
-annoy_timeout = 0.0000
-
-[Patron]
-id = 344
-flags = 3
-pos.x = 696.0000
-pos.y = 416.0000
-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 = 1
-target = 281
-order_item = "burger"
-order_show_animation = 0.0000
-holding = 0
-consume_timeout = 0.0000
-annoy_timeout = 0.0000
-
-[Patron]
-id = 346
-flags = 3
-pos.x = 696.0000
-pos.y = 336.0000
-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 = 1
-target = 280
-order_item = "beer"
-order_show_animation = 0.0000
-holding = 0
-consume_timeout = 0.0000
-annoy_timeout = 0.0000
-
-[Patron]
-id = 347
-flags = 3
-pos.x = 284.0000
-pos.y = 124.0000
-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 = 1
-target = 185
-order_item = "beer"
-order_show_animation = 0.0000
-holding = 0
-consume_timeout = 0.0000
-annoy_timeout = 0.0000
-
-[Patron]
-id = 350
-flags = 3
-pos.x = 184.0000
-pos.y = 336.0000
-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 = 1
-target = 31
-order_item = "beer"
-order_show_animation = 0.0000
-holding = 0
-consume_timeout = 0.0000
-annoy_timeout = 0.0000
-
-[Patron]
-id = 351
-flags = 3
-pos.x = 236.0000
-pos.y = 124.0000
-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 = 1
-target = 186
-order_item = "beer"
-order_show_animation = 0.0000
-holding = 0
-consume_timeout = 0.0000
-annoy_timeout = 0.0000
-
-[Patron]
-id = 352
-flags = 3
-pos.x = 248.0000
-pos.y = 416.0000
-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 = 1
-target = 230
-order_item = "burger"
-order_show_animation = 0.0000
-holding = 0
-consume_timeout = 0.0000
-annoy_timeout = 0.0000
-
-[Patron]
-id = 354
-flags = 3
-pos.x = 648.0000
-pos.y = 256.0000
-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 = 1
-target = 269
-order_item = "burger"
-order_show_animation = 0.0000
-holding = 0
-consume_timeout = 0.0000
-annoy_timeout = 0.0000
-
-[Patron]
-id = 356
-flags = 3
-pos.x = 648.0000
-pos.y = 176.0000
-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 = 1
-target = 268
-order_item = "beer"
-order_show_animation = 0.0000
-holding = 0
-consume_timeout = 0.0000
-annoy_timeout = 0.0000
-
-[Patron]
-id = 358
-flags = 3
-pos.x = 136.0000
-pos.y = 256.0000
-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 = 1
-target = 40
-order_item = "burger"
-order_show_animation = 0.0000
-holding = 0
-consume_timeout = 0.0000
-annoy_timeout = 0.0000
-
-[Patron]
-id = 360
-flags = 3
-pos.x = 140.0000
-pos.y = 124.0000
-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 = 1
-target = 188
-order_item = "burger"
-order_show_animation = 0.0000
-holding = 0
-consume_timeout = 0.0000
-annoy_timeout = 0.0000
-
-[Patron]
-id = 362
-flags = 3
-pos.x = 184.0000
-pos.y = 256.0000
-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 = 1
-target = 41
-order_item = "burger"
-order_show_animation = 0.0000
-holding = 0
-consume_timeout = 0.0000
-annoy_timeout = 0.0000
-
-[Patron]
-id = 363
-flags = 3
-pos.x = 136.0000
-pos.y = 336.0000
-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 = 1
-target = 30
-order_item = "burger"
-order_show_animation = 0.0000
-holding = 0
-consume_timeout = 0.0000
-annoy_timeout = 0.0000
-
-[Patron]
-id = 364
-flags = 3
-pos.x = 584.0000
-pos.y = 416.0000
-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 = 1
-target = 173
-order_item = "burger"
+state = 0
+target = 176
+order_item = "cocktail"
order_show_animation = 0.0000
holding = 0
consume_timeout = 0.0000
annoy_timeout = 0.0000
+walk_speed = 100.0000
-[Patron]
-id = 365
+[Custom]
+id = 325
flags = 3
-pos.x = 496.9649
-pos.y = 481.9315
-size.x = 16.0000
+pos.x = 208.0000
+pos.y = 32.0000
+size.x = 32.0000
size.y = 32.0000
+:SpriteRenderComponent
+sprite.sheet = "./assets/images/spritesheet.png"
+sprite.pos.x = 32.0000
+sprite.pos.y = 0.0000
+sprite.size.x = 16.0000
+sprite.size.y = 16.0000
+sprite.color.r = 1.0000
+sprite.color.g = 1.0000
+sprite.color.b = 1.0000
+sprite.color.a = 1.0000
:RenderComponent
-layer = 5
+layer = 10
color.r = 1.0000
-color.g = 0.0000
-color.b = 0.0000
+color.g = 1.0000
+color.b = 1.0000
color.a = 1.0000
-:PatronComponent
-state = 0
-target = 279
-order_item = "beer"
-order_show_animation = 0.0000
-holding = 0
-consume_timeout = 0.0000
-annoy_timeout = 0.0000
+:DispenserComponent
+item = "cocktail"
+max_timeout = 2.0000
[Door]
id = 13
[Player]
id = 152
flags = 2
-pos.x = 398.4127
-pos.y = 262.9740
+pos.x = 392.0000
+pos.y = 232.0000
size.x = 16.0000
size.y = 32.0000
:MovementComponent
controls.right = 262
controls.interact = 44
controls.pick_up = 46
-facing = 2
-velocity.x = -0.0000
+facing = 1
+velocity.x = 0.0000
velocity.y = 0.0000
speed = 800.0000
:PlayerComponent
[Player]
id = 12
flags = 2
-pos.x = 309.5813
-pos.y = 370.5432
+pos.x = 343.9997
+pos.y = 231.9998
size.x = 16.0000
size.y = 32.0000
:MovementComponent
controls.right = 68
controls.interact = 70
controls.pick_up = 71
-facing = 1
-velocity.x = -0.6185
-velocity.y = -0.6127
+facing = 3
+velocity.x = 0.0000
+velocity.y = 0.0000
speed = 800.0000
:PlayerComponent
holding = 0
enabled = true
spawn_timeout_min = 5.0000
spawn_timeout_max = 10.0000
-spawn_timeout = 3.6412
+spawn_timeout = 6.4949
[Custom]
id = 163
size.x = 16.0000
size.y = 16.0000
:MoneyComponent
-money = 152
+money = 100
money_sprite.sheet = "./assets/images/spritesheet.png"
money_sprite.pos.x = 0.0000
money_sprite.pos.y = 240.0000
#tag Editor_Custom_Field.{render_item_picker}
item: str;
max_timeout := 2.0f;
+ draw_item := true;
#tag Entity_Store.Skip
timeout := 0.0f;
}
post_render :: (use this: ^DispenserComponent, entity: ^Entity) {
- if timeout != 0 {
- rect := entity->get_rect();
+ rect := entity->get_rect();
+
+ if draw_item {
+ item_info := item_store->get_item(item);
+ r := rect;
+ r.w = 16;
+ r.h = 16;
+ r.x += (rect.w - r.w) / 2;
+ r.y += (rect.h - r.h) / 2;
+ item_info.sprite->render(r);
+ }
+ if timeout != 0 {
percent := (max_timeout - timeout) / max_timeout;
rect.y += (1 - percent) * rect.h;
rect.h *= percent;