mirror of
				https://github.com/mightypanders/GMTKJam2021.git
				synced 2025-11-04 02:59:50 +01:00 
			
		
		
		
	Guests now spawn up to a fixed count and space between them
This commit is contained in:
		@@ -4,7 +4,7 @@
 | 
				
			|||||||
[ext_resource path="res://Guest.gd" type="Script" id=2]
 | 
					[ext_resource path="res://Guest.gd" type="Script" id=2]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[sub_resource type="CircleShape2D" id=1]
 | 
					[sub_resource type="CircleShape2D" id=1]
 | 
				
			||||||
radius = 112.271
 | 
					radius = 150.29
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[sub_resource type="CapsuleShape2D" id=2]
 | 
					[sub_resource type="CapsuleShape2D" id=2]
 | 
				
			||||||
radius = 6.04475
 | 
					radius = 6.04475
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										36
									
								
								World.gd
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								World.gd
									
									
									
									
									
								
							@@ -1,11 +1,13 @@
 | 
				
			|||||||
extends Node2D
 | 
					extends Node2D
 | 
				
			||||||
 | 
					
 | 
				
			||||||
onready var streets = $Streets
 | 
					onready var streets = $Streets
 | 
				
			||||||
 | 
					onready var used_cells = streets.get_used_cells()
 | 
				
			||||||
onready var guests = $Guests
 | 
					onready var guests = $Guests
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var Guest = load("res://Guest.tscn")
 | 
					var Guest = load("res://Guest.tscn")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var rng = RandomNumberGenerator.new()
 | 
					var rng = RandomNumberGenerator.new()
 | 
				
			||||||
 | 
					var spawn_tries = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func _on_Guest_picked_up(destinationColor,name):
 | 
					func _on_Guest_picked_up(destinationColor,name):
 | 
				
			||||||
	print('Picked Up %s with name %s' % [destinationColor,name])
 | 
						print('Picked Up %s with name %s' % [destinationColor,name])
 | 
				
			||||||
@@ -14,14 +16,30 @@ func _ready():
 | 
				
			|||||||
	rng.randomize()
 | 
						rng.randomize()
 | 
				
			||||||
	pass 
 | 
						pass 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func _physics_process(delta):
 | 
				
			||||||
 | 
						pass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func _on_GuestTimer_timeout():
 | 
					func _on_GuestTimer_timeout():
 | 
				
			||||||
	var used_cells = streets.get_used_cells()
 | 
						create_new_guest()
 | 
				
			||||||
	var new_guest_cell = used_cells[rng.randi_range(0, used_cells.size())]
 | 
						
 | 
				
			||||||
	var guest_position = streets.map_to_world(new_guest_cell)
 | 
					
 | 
				
			||||||
	print('new guest at: %s' % [guest_position])
 | 
					func create_new_guest():
 | 
				
			||||||
	var guest = Guest.instance();
 | 
						if guests.get_children().size() >= 7:
 | 
				
			||||||
	guest.position = guest_position;
 | 
							return
 | 
				
			||||||
	guests.add_child(guest)
 | 
							
 | 
				
			||||||
	print('Guest count: %s' % [guests.get_child_count()])
 | 
						var position_found = false;
 | 
				
			||||||
 | 
						var new_guest_position
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						while !position_found:
 | 
				
			||||||
 | 
							position_found = true;
 | 
				
			||||||
 | 
							var new_guest_cell = used_cells[rng.randi_range(0, used_cells.size()) -1]
 | 
				
			||||||
 | 
							new_guest_position = streets.map_to_world(new_guest_cell)
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							for guest in guests.get_children():
 | 
				
			||||||
 | 
								if (new_guest_position - guest.position).length() < 300:
 | 
				
			||||||
 | 
									position_found = false
 | 
				
			||||||
 | 
									break
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
						var new_guest = Guest.instance()
 | 
				
			||||||
 | 
						new_guest.position = new_guest_position;
 | 
				
			||||||
 | 
						guests.add_child(new_guest)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
[gd_scene load_steps=23 format=2]
 | 
					[gd_scene load_steps=22 format=2]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[ext_resource path="res://assets/city_tiles/Street.png" type="Texture" id=1]
 | 
					[ext_resource path="res://assets/city_tiles/Street.png" type="Texture" id=1]
 | 
				
			||||||
[ext_resource path="res://assets/city_tiles/Buildings.png" type="Texture" id=2]
 | 
					[ext_resource path="res://assets/city_tiles/Buildings.png" type="Texture" id=2]
 | 
				
			||||||
@@ -7,7 +7,6 @@
 | 
				
			|||||||
[ext_resource path="res://Guest.tscn" type="PackedScene" id=5]
 | 
					[ext_resource path="res://Guest.tscn" type="PackedScene" id=5]
 | 
				
			||||||
[ext_resource path="res://World.gd" type="Script" id=6]
 | 
					[ext_resource path="res://World.gd" type="Script" id=6]
 | 
				
			||||||
[ext_resource path="res://assets/placeholder_white.png" type="Texture" id=7]
 | 
					[ext_resource path="res://assets/placeholder_white.png" type="Texture" id=7]
 | 
				
			||||||
[ext_resource path="res://GuestTimer.gd" type="Script" id=8]
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[sub_resource type="TileSet" id=1]
 | 
					[sub_resource type="TileSet" id=1]
 | 
				
			||||||
0/name = "Street.png 0"
 | 
					0/name = "Street.png 0"
 | 
				
			||||||
@@ -225,7 +224,6 @@ position = Vector2( 166.312, 322.885 )
 | 
				
			|||||||
[node name="GuestTimer" type="Timer" parent="."]
 | 
					[node name="GuestTimer" type="Timer" parent="."]
 | 
				
			||||||
wait_time = 5.0
 | 
					wait_time = 5.0
 | 
				
			||||||
autostart = true
 | 
					autostart = true
 | 
				
			||||||
script = ExtResource( 8 )
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[node name="Guests" type="Node" parent="."]
 | 
					[node name="Guests" type="Node" parent="."]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -236,7 +234,7 @@ position = Vector2( 337.119, 100.387 )
 | 
				
			|||||||
position = Vector2( 761.14, 102.634 )
 | 
					position = Vector2( 761.14, 102.634 )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[node name="Guest3" parent="Guests" instance=ExtResource( 5 )]
 | 
					[node name="Guest3" parent="Guests" instance=ExtResource( 5 )]
 | 
				
			||||||
position = Vector2( 758.143, 376.075 )
 | 
					position = Vector2( 777.143, 410.075 )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[connection signal="timeout" from="GuestTimer" to="." method="_on_GuestTimer_timeout"]
 | 
					[connection signal="timeout" from="GuestTimer" to="." method="_on_GuestTimer_timeout"]
 | 
				
			||||||
[connection signal="picked_up" from="Guests/Guest" to="." method="_on_Guest_picked_up"]
 | 
					[connection signal="picked_up" from="Guests/Guest" to="." method="_on_Guest_picked_up"]
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user