|  | class_name BaseMenu | 
						
						
							|  | extends ColorRect | 
						
						
							|  | 
 | 
						
						
							|  | 
 | 
						
						
							|  | @export var animation_player: AnimationPlayer | 
						
						
							|  | 
 | 
						
						
							|  | var pause_menu: PauseMenu | 
						
						
							|  | 
 | 
						
						
							|  | 
 | 
						
						
							|  | func init() -> void: | 
						
						
							|  | 	reset_menu() | 
						
						
							|  | 	update_animation_tracks() | 
						
						
							|  | 
 | 
						
						
							|  | func close_menu() -> void: | 
						
						
							|  | 	animation_player.play("hide") | 
						
						
							|  | 
 | 
						
						
							|  | func open_menu() -> void: | 
						
						
							|  | 	animation_player.play("show") | 
						
						
							|  | 
 | 
						
						
							|  | func reset_menu() -> void: | 
						
						
							|  | 	animation_player.play("RESET") | 
						
						
							|  | 
 | 
						
						
							|  | ## Update the animation tracks to account for the varying sizes of the menu container[br] | 
						
						
							|  | ##   Requires:[br] | 
						
						
							|  | ##      Track 1 - Must be for the content_container[br] | 
						
						
							|  | ##      First Property - Must be position[br] | 
						
						
							|  | ##      Second Property - Visibility | 
						
						
							|  | func update_animation_tracks() -> void: | 
						
						
							|  | 	var hide_animation: Animation = animation_player.get_animation("hide") | 
						
						
							|  | 	var show_animation: Animation = animation_player.get_animation("show") | 
						
						
							|  | 
 | 
						
						
							|  | 	hide_animation.track_set_key_value(0, 1, Vector2(-size.x, hide_animation.track_get_key_value(0, 1).y)) | 
						
						
							|  | 	show_animation.track_set_key_value(0, 0, Vector2(-size.x, show_animation.track_get_key_value(0, 0).y))
 |