diff options
Diffstat (limited to 'client/map')
-rw-r--r-- | client/map/items/bread.gd | 13 | ||||
-rw-r--r-- | client/map/items/steam.tscn | 1 | ||||
-rw-r--r-- | client/map/progress.gdshader | 26 | ||||
-rw-r--r-- | client/map/tiles/conveyor_direction.gdshader | 14 |
4 files changed, 34 insertions, 20 deletions
diff --git a/client/map/items/bread.gd b/client/map/items/bread.gd index b049b450..b5143c53 100644 --- a/client/map/items/bread.gd +++ b/client/map/items/bread.gd @@ -16,6 +16,19 @@ class_name Bread extends Item +var steam: CPUParticles3D = preload("res://map/items/steam.tscn").instantiate() + func _init(owned_by_: Node3D): super(owned_by_) base.add_child(load("res://map/items/bread.tscn").instantiate()) + steam.position.y += .1 + steam.color = Color(.6, .6, .6, .4) + base.add_child(steam) + +func progress(p: float, warn: bool): + super(p, warn) + steam.emitting = warn + +func finish(warn: bool): + super(warn) + steam.emitting = false diff --git a/client/map/items/steam.tscn b/client/map/items/steam.tscn index 4a112278..a6114124 100644 --- a/client/map/items/steam.tscn +++ b/client/map/items/steam.tscn @@ -1,6 +1,7 @@ [gd_scene load_steps=4 format=3 uid="uid://g1wsqgb56o1o"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_e1q7j"] +transparency = 1 vertex_color_use_as_albedo = true [sub_resource type="SphereMesh" id="SphereMesh_mk24m"] diff --git a/client/map/progress.gdshader b/client/map/progress.gdshader index 2ce33dd6..a5ebf575 100644 --- a/client/map/progress.gdshader +++ b/client/map/progress.gdshader @@ -1,6 +1,6 @@ /* Hurry Curry! - a game about cooking - Copyright 2024 metamuffin + Copyright 2024 nokoe Copyright 2024 tpart This program is free software: you can redistribute it and/or modify @@ -23,18 +23,18 @@ uniform float progress = 0.; uniform bool bad = false; void fragment() { - vec3 color = vec3(0., .5, 0.); - float alpha_fac = 1.; - if (bad) { - color = vec3(1., 0., 0.); - alpha_fac = sin(TIME * 15.) * .5 + 1.; - } - if (UV.x > progress) { - ALPHA = 1.; - color = vec3(0.1, 0.1, 0.1); - } - ALPHA *= alpha_fac; - ALBEDO = color; + vec3 color = vec3(0., .5, 0.); + float alpha_fac = 1.; + if (bad) { + color = vec3(progress, 1. - progress, 0.); + alpha_fac = (sin(TIME * 15.) + 1.) * .5; + } + if (UV.x > progress) { + ALPHA = 1.; + color = vec3(0.1, 0.1, 0.1); + } + ALPHA *= alpha_fac; + ALBEDO = color; } void vertex() { diff --git a/client/map/tiles/conveyor_direction.gdshader b/client/map/tiles/conveyor_direction.gdshader index 7b3565e6..f2bf8154 100644 --- a/client/map/tiles/conveyor_direction.gdshader +++ b/client/map/tiles/conveyor_direction.gdshader @@ -24,11 +24,11 @@ uniform float speed = 1.; uniform float alpha_fac = 1.; void fragment() { - ALBEDO = vec3(1., 1., 0.); - vec2 uv = UV.xy; - uv.x = abs(2. * uv.x - 1.); - float alpha = step( - mod(uv.y - TIME * speed + angle * uv.x, frequency), width - ); - ALPHA = alpha * alpha_fac; + ALBEDO = vec3(1., 1., 0.); + vec2 uv = UV.xy; + uv.x = abs(2. * uv.x - 1.); + float alpha = step( + mod(uv.y - TIME * speed + angle * uv.x, frequency), width + ); + ALPHA = alpha * alpha_fac; } |