added restart window and actual disabling plugin
This commit is contained in:
@@ -4,6 +4,7 @@ extends EditorPlugin
|
||||
const DiscordSDKDebug = preload("res://addons/discord-sdk-gd/nodes/debug.gd")
|
||||
const DiscordSDKDebug_icon = preload("res://addons/discord-sdk-gd/nodes/assets/Debug.svg")
|
||||
var loaded_DiscordSDKDebug = DiscordSDKDebug.new()
|
||||
var restart_window: ConfirmationDialog = preload("res://addons/discord-sdk-gd/nodes/restart_window.tscn").instantiate()
|
||||
|
||||
|
||||
func _enter_tree() -> void:
|
||||
@@ -11,27 +12,25 @@ func _enter_tree() -> void:
|
||||
add_autoload_singleton("DiscordSDKLoader", "res://addons/discord-sdk-gd/nodes/core_updater.gd")
|
||||
|
||||
func _enable_plugin() -> void:
|
||||
print("DiscordSDK Addon got enabled (PLEASE RESTART THE EDITOR)")
|
||||
if FileAccess.file_exists(ProjectSettings.globalize_path("res://") + "addons/discord-sdk-gd/bin/.gdignore"):
|
||||
DirAccess.remove_absolute(ProjectSettings.globalize_path("res://") + "addons/discord-sdk-gd/bin/.gdignore")
|
||||
ProjectSettings.set_setting("DiscordSDK/EditorPresence/enabled",false)
|
||||
ProjectSettings.set_as_basic("DiscordSDK/EditorPresence/enabled",true)
|
||||
ProjectSettings.set_initial_value("DiscordSDK/EditorPresence/enabled",false)
|
||||
ProjectSettings.set_restart_if_changed("DiscordSDK/EditorPresence/enabled",true)
|
||||
get_tree().root.add_child(restart_window)
|
||||
restart_window.connect("canceled",save_restart)
|
||||
restart_window.connect("confirmed",restart)
|
||||
|
||||
func _disable_plugin() -> void:
|
||||
print("DiscordSDK Addon got disabled")
|
||||
FileAccess.open("res://addons/discord-sdk-gd/bin/.gdignore",FileAccess.WRITE)
|
||||
push_warning("DiscordSDK Addon got disabled. PLEASE RESTART THE EDITOR!")
|
||||
remove_autoload_singleton("DiscordSDKLoader")
|
||||
remove_custom_type("DiscordSDKDebug")
|
||||
ProjectSettings.clear("DiscordSDK/EditorPresence/enabled")
|
||||
|
||||
func _process(_delta):
|
||||
if(ProjectSettings.get_setting("DiscordSDK/EditorPresence/enabled")&&!get_editor_interface().is_playing_scene()):
|
||||
if(discord_sdk.app_id != 1108142249990176808):
|
||||
discord_sdk.app_id = 1108142249990176808
|
||||
discord_sdk.details = ProjectSettings.get_setting("application/config/name")
|
||||
discord_sdk.state = "Editing: \""+ str(get_tree().edited_scene_root.scene_file_path).replace("res://","") +"\""
|
||||
discord_sdk.large_image = "godot"
|
||||
discord_sdk.large_image_text = str(Engine.get_version_info().string)
|
||||
discord_sdk.start_timestamp = int(Time.get_unix_time_from_system())
|
||||
discord_sdk.refresh()
|
||||
if(discord_sdk.app_id == 1108142249990176808):
|
||||
discord_sdk.coreupdate()
|
||||
func save_restart() -> void:
|
||||
get_editor_interface().restart_editor(true)
|
||||
|
||||
func restart() -> void:
|
||||
get_editor_interface().restart_editor(false)
|
||||
|
Reference in New Issue
Block a user