diff options
Diffstat (limited to 'client/map/tiles/grass.gd')
-rw-r--r-- | client/map/tiles/grass.gd | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/client/map/tiles/grass.gd b/client/map/tiles/grass.gd new file mode 100644 index 00000000..15ee7603 --- /dev/null +++ b/client/map/tiles/grass.gd @@ -0,0 +1,36 @@ +# Undercooked - a game about cooking +# Copyright 2024 nokoe +# Copyright 2024 tpart +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, version 3 of the License only. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. +# +class_name Grass +extends Tile + +const GRASS_SIDE: PackedScene = preload("res://map/tiles/grass_side.tscn") +const GRASS_COUNT: int = 16 + +func _init(rename: String, _neighbors: Array): + super(rename, _neighbors) + var grass_tile = preload("res://map/tiles/grass.tscn").instantiate() + grass_tile.position += Vector3(0.5, 0, 0.5) + add_child(grass_tile) + + var random = RandomNumberGenerator.new() + random.seed = rename.hash() + + for _i in Global.get_setting("grass_amount"): + var g: Node3D = GRASS_SIDE.instantiate() + grass_tile.add_child(g) + g.position = Vector3(random.randf_range(-.5, .5), 0, random.randf_range(-.5, .5)) + g.rotation = Vector3(0, random.randf_range(0, PI), 0) |