aboutsummaryrefslogtreecommitdiff
path: root/client/gui
diff options
context:
space:
mode:
authornokoe <nokoe@mailbox.org>2025-10-10 01:25:34 +0200
committernokoe <nokoe@mailbox.org>2025-10-10 01:26:46 +0200
commite3eaf0bd831a5d2152abd272ec8cf62c2ceac2a4 (patch)
tree37136e39e5afa680cfe0d9365d1cd910c354f1a6 /client/gui
parent500e0c47dfefd497a6b5e7d70fa8aed92abb57e9 (diff)
downloadhurrycurry-e3eaf0bd831a5d2152abd272ec8cf62c2ceac2a4.tar
hurrycurry-e3eaf0bd831a5d2152abd272ec8cf62c2ceac2a4.tar.bz2
hurrycurry-e3eaf0bd831a5d2152abd272ec8cf62c2ceac2a4.tar.zst
add items and trees to background
Diffstat (limited to 'client/gui')
-rw-r--r--client/gui/menus/main/background.gd20
1 files changed, 17 insertions, 3 deletions
diff --git a/client/gui/menus/main/background.gd b/client/gui/menus/main/background.gd
index a0a71a08..85ac258f 100644
--- a/client/gui/menus/main/background.gd
+++ b/client/gui/menus/main/background.gd
@@ -16,7 +16,8 @@
extends Node3D
const CRATES = ["tomato-crate", "bun-crate", "steak-crate", "cheese-crate", "lettuce-crate", "flour-crate", "coconut-crate"]
-const TOOLS = ["stove", "stove", "stove", "sink", "cutting-board", "sink", "cutting-board", "rolling-board", "oven", "freezer"]
+const TOOLS = ["stove", "stove", "stove", "sink", "cutting-board", "sink", "cutting-board", "rolling-board", "oven", "freezer", "deep-fryer", "rolling-board"]
+const ITEMS = ["pot", "pan", "foodprocessor", "plate", "basket", "lettuce", "dirty-plate", "cheese", "nigiri"]
@onready var environment: WorldEnvironment = $Environment
@onready var map: Map = $Map
@@ -26,6 +27,7 @@ func _ready():
environment.environment.tonemap_exposure = 0.25
var tiles = {}
+ var item_counters := []
for x in range(-10, 11):
for y in range(-10, 11):
var w = exp(-sqrt(x * x + y * y) * 0.15)
@@ -34,8 +36,11 @@ func _ready():
if k > 0.25: tn = "floor"
if k > 0.4: tn = choose(CRATES) if randf() > 0.3 else "counter"
if k > 0.6: tn = choose(TOOLS)
- if tn != null: tiles[str(Vector2i(x,y))] = [tn,[x,y]]
-
+ if k > 0.7: tn = "tree" if randf() > 0.4 else "grass"
+ if tn != null:
+ tiles[str(Vector2i(x,y))] = [tn,[x,y]]
+ if tn == "counter" and randf() > 0.1 and k > 0.45:
+ item_counters.push_back(Vector2i(x, y))
var gt = func (cs):
var t = tiles.get(str(Vector2i(cs[0],cs[1])))
return null if t == null else t[0]
@@ -47,4 +52,13 @@ func _ready():
map.flush()
+ for v: Vector2i in item_counters:
+ var t: Tile = map.get_tile_instance(v)
+ var item := ItemFactory.produce(choose(ITEMS), t)
+ add_child(item)
+ item.position = t.item_base.global_position
+ var rot := randf() * 2 * PI
+ item.rotation.y = rot
+ item.rotation_target = rot
+ t.set_item(item)
func choose(a): return a[floor(a.size() * randf())]