Small Godot Wild Jam game
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Testing random events

Added some basic nodes to test random selection after a random timer expires.

Raptor ed04b7c8 88846de6

+68 -2
+40 -2
Scenes/gameplay/gameplay.gd
··· 1 1 extends Node 2 2 3 + #region Vars and consts 3 4 var elapsed = 0 4 5 5 6 @onready var sprite_2d: Sprite2D = $Sprite2D 7 + 8 + @onready var timers_node: Node = $Timers 9 + @onready var random_event_timer: Timer = $Timers/RandomEventTimer 10 + @onready var event_pins_node: Node2D = $EventPins 11 + 12 + @onready var possible_event_nodes: Node2D = $PossibleEventNodes 13 + 14 + const START_TIMER_WAIT_TIME: float = 10.0 #should be 10.0 15 + #endregion 6 16 7 17 # `pre_start()` is called when a scene is loaded. 8 18 # Use this function to receive params from `Game.change_scene(params)`. ··· 20 30 func start(): 21 31 print("gameplay.gd: start() called") 22 32 33 + func _ready() -> void: 34 + # Spawn the first event at the same time, after this it's random in the timeout function of said timer 35 + random_event_timer.wait_time = START_TIMER_WAIT_TIME 36 + random_event_timer.start() 23 37 24 38 func _process(delta): 25 39 elapsed += delta 26 40 sprite_2d.position.x = 0 + 150 * sin(2 * 0.4 * PI * elapsed) 27 41 sprite_2d.position.y = 0 + 100 * sin(2 * 0.2 * PI * elapsed) 28 - #Game.size.x / 2 29 - #Game.size.y / 2 42 + #Game.size.x / 2 43 + #Game.size.y / 2 44 + 45 + func random_house_select() -> Node2D: 46 + var random_index = randi() % possible_event_nodes.get_child_count() 47 + print(random_index) 48 + return possible_event_nodes.get_child(random_index) 49 + 50 + func _on_random_event_timer_timeout() -> void: 51 + # Set next timer to be from 10 to 30 seconds from the end of the last one 52 + random_event_timer.wait_time = float((randi() % 20) + START_TIMER_WAIT_TIME) 53 + 54 + #print("Event!!!!!! next event: " + str(random_event_timer.wait_time)) 55 + 56 + random_event_timer.start() 57 + 58 + # House selected for random event 59 + var selected_house: Node2D = random_house_select() 60 + 61 + #selected_house.modulate = Color(randf(),randf(),randf()) 62 + #print("Selected: " + str(selected_house.name)) 63 + 64 + 65 + 66 + func _on_population_status_update_timer_timeout() -> void: 67 + Global.people_sick += randi() % 5 + 1
+27
Scenes/gameplay/gameplay.tscn
··· 19 19 boundary_Y = 900.0 20 20 metadata/_custom_type_script = "uid://bhgboyg8ipyan" 21 21 22 + [node name="EventPins" type="Node2D" parent="."] 23 + 22 24 [node name="TemporaryBackground" type="ColorRect" parent="."] 25 + visible = false 23 26 anchors_preset = 15 24 27 anchor_right = 1.0 25 28 anchor_bottom = 1.0 ··· 33 36 color = Color(0.625597, 0.625597, 0.625597, 1) 34 37 35 38 [node name="Sprite2D" type="Sprite2D" parent="."] 39 + visible = false 36 40 texture = ExtResource("2_tmsds") 37 41 38 42 [node name="PauseLayer" parent="." instance=ExtResource("2")] 39 43 visible = false 44 + 45 + [node name="PossibleEventNodes" type="Node2D" parent="."] 46 + 47 + [node name="House" type="Sprite2D" parent="PossibleEventNodes"] 48 + position = Vector2(204, 232) 49 + texture = ExtResource("2_tmsds") 50 + 51 + [node name="Cuddy" type="Sprite2D" parent="PossibleEventNodes"] 52 + position = Vector2(-367, -188) 53 + texture = ExtResource("2_tmsds") 54 + 55 + [node name="Wilson" type="Sprite2D" parent="PossibleEventNodes"] 56 + position = Vector2(483, -267) 57 + texture = ExtResource("2_tmsds") 58 + 59 + [node name="Timers" type="Node" parent="."] 60 + 61 + [node name="RandomEventTimer" type="Timer" parent="Timers"] 62 + 63 + [node name="PopulationStatusUpdateTimer" type="Timer" parent="Timers"] 64 + 65 + [connection signal="timeout" from="Timers/RandomEventTimer" to="." method="_on_random_event_timer_timeout"] 66 + [connection signal="timeout" from="Timers/PopulationStatusUpdateTimer" to="." method="_on_population_status_update_timer_timeout"]
+1
Scripts/global.gd
··· 4 4 var rng := RandomNumberGenerator.new() 5 5 6 6 var current_money: int = 0 7 + var population_total: int = 150 7 8 var people_cured: int = 0 8 9 var people_sick: int = 0 9 10 var available_units: int = 0