generated from krampus/template-godot4
	Input polling looks for exact match to avoid smashing modifier inputs
This commit is contained in:
		
							parent
							
								
									8dd9e0b4c5
								
							
						
					
					
						commit
						b633ceb0c4
					
				| @ -579,7 +579,7 @@ func _process(_delta: float) -> void: | |||||||
| 
 | 
 | ||||||
| 	## Input Handling | 	## Input Handling | ||||||
| 	if control_disabled: | 	if control_disabled: | ||||||
| 		if Input.is_action_just_pressed("camera_cancel"): | 		if Input.is_action_just_pressed("camera_cancel", true): | ||||||
| 			if is_instance_valid(_free_camera) and not _returning_free_camera: | 			if is_instance_valid(_free_camera) and not _returning_free_camera: | ||||||
| 				_returning_free_camera = true | 				_returning_free_camera = true | ||||||
| 				var tween := get_tree().create_tween() | 				var tween := get_tree().create_tween() | ||||||
| @ -599,76 +599,76 @@ func _process(_delta: float) -> void: | |||||||
| 	match phase: | 	match phase: | ||||||
| 		Phase.AIM: | 		Phase.AIM: | ||||||
| 			# Camera zoom | 			# Camera zoom | ||||||
| 			if Input.is_action_just_pressed("shot_zoom_in"): | 			if Input.is_action_just_pressed("shot_zoom_in", true): | ||||||
| 				camera_distance = max(camera_distance - 1.0, ZOOM_MIN) | 				camera_distance = max(camera_distance - 1.0, ZOOM_MIN) | ||||||
| 			if Input.is_action_just_pressed("shot_zoom_out"): | 			if Input.is_action_just_pressed("shot_zoom_out", true): | ||||||
| 				camera_distance = min(camera_distance + 1.0, ZOOM_MAX) | 				camera_distance = min(camera_distance + 1.0, ZOOM_MAX) | ||||||
| 
 | 
 | ||||||
| 			# Club select | 			# Club select | ||||||
| 			if Input.is_action_just_pressed("club_next"): | 			if Input.is_action_just_pressed("club_next", true): | ||||||
| 				club_type = _get_relative_club(1) | 				club_type = _get_relative_club(1) | ||||||
| 			if Input.is_action_just_pressed("club_previous"): | 			if Input.is_action_just_pressed("club_previous", true): | ||||||
| 				club_type = _get_relative_club(-1) | 				club_type = _get_relative_club(-1) | ||||||
| 			if Input.is_action_just_pressed("select_driver"): | 			if Input.is_action_just_pressed("select_driver", true): | ||||||
| 				club_type = Club.Type.DRIVER | 				club_type = Club.Type.DRIVER | ||||||
| 			if Input.is_action_just_pressed("select_iron"): | 			if Input.is_action_just_pressed("select_iron", true): | ||||||
| 				club_type = Club.Type.IRON | 				club_type = Club.Type.IRON | ||||||
| 			if Input.is_action_just_pressed("select_wedge"): | 			if Input.is_action_just_pressed("select_wedge", true): | ||||||
| 				club_type = Club.Type.WEDGE | 				club_type = Club.Type.WEDGE | ||||||
| 			if Input.is_action_just_pressed("select_special"): | 			if Input.is_action_just_pressed("select_special", true): | ||||||
| 				club_type = Club.Type.SPECIAL | 				club_type = Club.Type.SPECIAL | ||||||
| 			if Input.is_action_just_pressed("select_putter"): | 			if Input.is_action_just_pressed("select_putter", true): | ||||||
| 				club_type = Club.Type.PUTTER | 				club_type = Club.Type.PUTTER | ||||||
| 
 | 
 | ||||||
| 			# Ball select | 			# Ball select | ||||||
| 			if Input.is_action_just_pressed("ball_next"): | 			if Input.is_action_just_pressed("ball_next", true): | ||||||
| 				ball_type = player.next_ball(ball_type) | 				ball_type = player.next_ball(ball_type) | ||||||
| 			if Input.is_action_just_pressed("ball_previous"): | 			if Input.is_action_just_pressed("ball_previous", true): | ||||||
| 				ball_type = player.prev_ball(ball_type) | 				ball_type = player.prev_ball(ball_type) | ||||||
| 
 | 
 | ||||||
| 			# Switch to free cam | 			# Switch to free cam | ||||||
| 			if ( | 			if ( | ||||||
| 				Input.is_action_just_pressed("camera_back") | 				Input.is_action_just_pressed("camera_back", true) | ||||||
| 				or Input.is_action_just_pressed("camera_forward") | 				or Input.is_action_just_pressed("camera_forward", true) | ||||||
| 				or Input.is_action_just_pressed("camera_left") | 				or Input.is_action_just_pressed("camera_left", true) | ||||||
| 				or Input.is_action_just_pressed("camera_right") | 				or Input.is_action_just_pressed("camera_right", true) | ||||||
| 			): | 			): | ||||||
| 				insert_free_cam() | 				insert_free_cam() | ||||||
| 
 | 
 | ||||||
| 			# Advance to next phase | 			# Advance to next phase | ||||||
| 			if Input.is_action_just_pressed("shot_accept"): | 			if Input.is_action_just_pressed("shot_accept", true): | ||||||
| 				if player.get_balls(ball_type) != 0: | 				if player.get_balls(ball_type) != 0: | ||||||
| 					# Check that player has enough of the selected ball (<0 means unlimited) | 					# Check that player has enough of the selected ball (<0 means unlimited) | ||||||
| 					phase = Phase.POWER_ADJUST | 					phase = Phase.POWER_ADJUST | ||||||
| 				# TODO play UI bonk if player doesn't have balls (lmao) | 				# TODO play UI bonk if player doesn't have balls (lmao) | ||||||
| 		Phase.POWER_ADJUST: | 		Phase.POWER_ADJUST: | ||||||
| 			if Input.is_action_just_pressed("shot_accept"): | 			if Input.is_action_just_pressed("shot_accept", true): | ||||||
| 				# TODO set power gauge parameters if needed | 				# TODO set power gauge parameters if needed | ||||||
| 				character.start_upswing() | 				character.start_upswing() | ||||||
| 				hud.start_power_bar() | 				hud.start_power_bar() | ||||||
| 			if Input.is_action_just_pressed("shot_cancel"): | 			if Input.is_action_just_pressed("shot_cancel", true): | ||||||
| 				hud.reset_power_bar() | 				hud.reset_power_bar() | ||||||
| 				phase = Phase.AIM | 				phase = Phase.AIM | ||||||
| 			if Input.is_action_just_released("shot_accept") and shot_power > 0: | 			if Input.is_action_just_released("shot_accept", true) and shot_power > 0: | ||||||
| 				hud.stop_power_bar() | 				hud.stop_power_bar() | ||||||
| 				phase = Phase.CURVE_ADJUST | 				phase = Phase.CURVE_ADJUST | ||||||
| 		Phase.CURVE_ADJUST: | 		Phase.CURVE_ADJUST: | ||||||
| 			if Input.is_action_just_pressed("shot_cancel"): | 			if Input.is_action_just_pressed("shot_cancel", true): | ||||||
| 				hud.reset_curve_bar() | 				hud.reset_curve_bar() | ||||||
| 				phase = Phase.POWER_ADJUST | 				phase = Phase.POWER_ADJUST | ||||||
| 			if Input.is_action_just_pressed("shot_accept"): | 			if Input.is_action_just_pressed("shot_accept", true): | ||||||
| 				hud.stop_curve_bar() | 				hud.stop_curve_bar() | ||||||
| 				phase = Phase.DOWNSWING | 				phase = Phase.DOWNSWING | ||||||
| 		Phase.SHOT: | 		Phase.SHOT: | ||||||
| 			if reset_enabled and Input.is_action_just_pressed("shot_reset"): | 			if reset_enabled and Input.is_action_just_pressed("shot_reset", true): | ||||||
| 				phase = Phase.SHOT_RESET | 				phase = Phase.SHOT_RESET | ||||||
| 				reset_enabled = false | 				reset_enabled = false | ||||||
| 				return_ball() | 				return_ball() | ||||||
| 
 | 
 | ||||||
| 			if Input.is_action_just_pressed("activate_ball"): | 			if Input.is_action_just_pressed("activate_ball", true): | ||||||
| 				game_ball.activate_ability() | 				game_ball.activate_ability() | ||||||
| 
 | 
 | ||||||
| 			if driving_range and Input.is_action_just_pressed("shot_accept"): | 			if driving_range and Input.is_action_just_pressed("shot_accept", true): | ||||||
| 				phase = Phase.AIM | 				phase = Phase.AIM | ||||||
| 				return_ball() | 				return_ball() | ||||||
| 		Phase.FINISHED: | 		Phase.FINISHED: | ||||||
|  | |||||||
| @ -42,7 +42,7 @@ func _physics_process(_delta: float) -> void: | |||||||
| 	var direction := (transform.basis * Vector3(xz_input.x, y_input.y, xz_input.y)).normalized() | 	var direction := (transform.basis * Vector3(xz_input.x, y_input.y, xz_input.y)).normalized() | ||||||
| 
 | 
 | ||||||
| 	var speed := Game.settings.free_camera_speed | 	var speed := Game.settings.free_camera_speed | ||||||
| 	if Input.is_action_pressed("camera_sprint"): | 	if Input.is_action_pressed("camera_sprint", true): | ||||||
| 		speed *= SPRINT_MULT | 		speed *= SPRINT_MULT | ||||||
| 
 | 
 | ||||||
| 	if direction: | 	if direction: | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user