this repo has no description
6
fork

Configure Feed

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

at testing 68 lines 2.0 kB view raw
1extends Node 2 3var config: Dictionary 4 5const ATPROTO_SLOT = 99 6var save_loaded: String 7var default_config: Dictionary = {} 8 9onready var TackleBox := $"/root/TackleBox" 10const AtProtoClient_t := preload("res://mods/Atproto/atproto_client.gd") 11var AtProtoClient: AtProtoClient_t 12 13# UI 14const AtProtoMenu := preload("res://mods/Atproto/ui/menus/atproto_config.tscn") 15const AtProtoButton := preload("res://mods/Atproto/ui/buttons/atproto.tscn") 16 17var setuped = false 18 19func _enter_tree(): 20 AtProtoClient = AtProtoClient_t.new() 21 add_child(AtProtoClient) 22 AtProtoClient.connect("savefile_loaded", self, "set_save_file") 23 get_tree().connect("node_added", self, "_add_atproto_menu") 24 25 26func _ready() -> void: 27 _init_config() 28 29func _init_config(): 30 var saved_config = TackleBox.get_mod_config(name) 31 for key in default_config.keys(): 32 if not saved_config[key]: 33 saved_config[key] = default_config[key] 34 config = saved_config 35 TackleBox.set_mod_config(name, config) 36 if config.Autoconnect == true: 37 AtProtoClient.login(config.Handle, config.Password) 38 39func _save_config(): 40 TackleBox.set_mod_config(name, config) 41 42func _add_atproto_menu(node: Node): 43 if node.name == "main_menu": 44 var atproto_menu: Node = AtProtoMenu.instance() 45 atproto_menu.visible = false 46 node.add_child(atproto_menu) 47 48 var button = AtProtoButton.instance() 49 var menu_list: Node = node.get_node("VBoxContainer") 50 var settings_button: Node = menu_list.get_node("settings") 51 menu_list.add_child(button) 52 menu_list.move_child(button, settings_button.get_index() + 1) 53 atproto_menu.connect("setup_done", self, "_after_setup") 54 pass 55 56func _after_setup(): 57 if setuped: 58 return 59 setuped = true 60 61 if config.Save != "" and config.Autoload and AtProtoClient.connected(): 62 AtProtoClient.load_save(config.Save) 63 64func can_save_to_atproto(): 65 return AtProtoClient.can_save && UserSave.current_loaded_slot == ATPROTO_SLOT && AtProtoClient.connected() 66 67func set_save_file(save_uri): 68 save_loaded = save_uri