diff options
Diffstat (limited to 'client/map/tiles/exterior_tree.gd')
| -rw-r--r-- | client/map/tiles/exterior_tree.gd | 25 | 
1 files changed, 23 insertions, 2 deletions
| diff --git a/client/map/tiles/exterior_tree.gd b/client/map/tiles/exterior_tree.gd index 41e35693..edc08df3 100644 --- a/client/map/tiles/exterior_tree.gd +++ b/client/map/tiles/exterior_tree.gd @@ -16,9 +16,30 @@  class_name ExteriorTree  extends Grass +const SCALE: Vector3 = Vector3(100., 100., 100.) +const ROT: Vector3 = Vector3(1.5 * PI, 0., 0.) +  func _init(rename: String, _neighbors: Array):  	super(rename, _neighbors)  	var random = RandomNumberGenerator.new()  	random.seed = rename.hash() -	var path = "res://map/tiles/tree_%s.tscn" % random.randi_range(1,5) -	base.add_child(load(path).instantiate()) +	var tree: int = random.randi_range(1,5) +	var trunk: Mesh = load("res://map/tiles/tree/trunk_%d.res" % tree) +	var leaves: Mesh = load("res://map/tiles/tree/leaves_%d_%s.res" % [ +		tree, +		"lq" if Global.get_setting("lq_trees") else "hq" +	]) +	var trunk_instance: MeshInstance3D = MeshInstance3D.new() +	trunk_instance.mesh = trunk +	trunk_instance.scale = SCALE +	trunk_instance.rotation = ROT +	var leaves_instance: MeshInstance3D = MeshInstance3D.new() +	leaves_instance.mesh = leaves +	leaves_instance.scale = SCALE +	leaves_instance.rotation = ROT +	var tree_node: Node3D = Node3D.new() + +	tree_node.add_child(trunk_instance) +	tree_node.add_child(leaves_instance) +	tree_node.name = "Tree" +	base.add_child(tree_node) | 
