Advertisement
Cevelean

Menu Button

Feb 21st, 2024
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
GDScript 1.38 KB | Gaming | 0 0
  1. @tool
  2. extends TextureRect
  3. #EXPORTS
  4. @export_category("Button Type")
  5. enum type {new_game,continue_game,settings,quit}    #EVERY BUTTON TYPE
  6. @export var button_type : type  #WE SET WHAT TYPE OF BUTTON WE WANT IT TO BE
  7. @export_category("Children")
  8. @export var button : Button #BUTTON ITSELF
  9. @export var border : TextureRect    #BUTTON BORDER
  10. @export_category("Costumization")
  11. @export var button_text : String = "default" : set = set_button_text    #TEXT ON THE BUTTON
  12. @export var button_text_size : int = 1 : set = set_text_size    #TEXT SIZE OF THE BUTTON
  13. @export var border_color : Color = Color.WHITE : set = set_color    #COLOR OF THE BUTTONS'S BORDER
  14.  
  15. #CHANGE THE TEXT OF THE BUTTON
  16. func set_button_text(new_text : String):
  17.     button_text = new_text
  18.     button.text = new_text
  19.  
  20. #ADJUST THE TEXT SIZE OF THE BUTTON
  21. func set_text_size(new_size : int):
  22.     button_text_size = new_size
  23.     button.add_theme_font_size_override("font_size", new_size)
  24.  
  25. #CHANGE COLOR OF THE BORDER
  26. func set_color(new_color : Color):
  27.     border_color = new_color
  28.     border.self_modulate = new_color
  29.  
  30. #CHECK FOR THE BUTTON TYPE, AND MOVE TO THE DESIRED SCENE
  31. func _on_button_pressed():
  32.     match button_type:
  33.         type.new_game:
  34.             #START NEW GAME HERE!
  35.             pass
  36.         type.continue_game:
  37.             #WE RESUME OUR GAME!
  38.             pass
  39.         type.settings:
  40.             #I TOO HATE WORKING ON GAME SETTINGS
  41.             pass
  42.         type.quit:
  43.             #WE STOP PLAYING
  44.             get_tree().quit()
  45.  
Tags: Godot Gdscript
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement