added EditorPresence
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
@tool
|
||||
extends EditorExportPlugin
|
||||
|
||||
func _export_file(_path, _type, features):
|
||||
func _export_file(_path, _type, features) -> void:
|
||||
if features[2] == "windows":
|
||||
if features[4] == "x86_64":
|
||||
add_shared_object("res://addons/discord-sdk-gd/bin/windows/discord_game_sdk.dll",[],"/")
|
||||
|
@@ -1,5 +1,8 @@
|
||||
## This always needs to run in the background if you want to comunicate with the discord client.
|
||||
extends Node
|
||||
|
||||
@export var is_running: bool =false
|
||||
|
||||
func _process(delta) -> void:
|
||||
discord_sdk.coreupdate()
|
||||
is_running = true
|
||||
|
@@ -1,7 +1,6 @@
|
||||
## This is a Debug Node wich will show (only if the project runs) some usefull info and buttons/input
|
||||
extends Node
|
||||
|
||||
const DebugNodeGroup = preload("res://addons/discord-sdk-gd/nodes/Debug.tscn")
|
||||
|
||||
func _ready():
|
||||
func _ready() -> void:
|
||||
const DebugNodeGroup: PackedScene = preload("res://addons/discord-sdk-gd/nodes/Debug.tscn")
|
||||
add_child(DebugNodeGroup.instantiate())
|
||||
|
@@ -14,14 +14,34 @@ const ExportPlugin = preload("res://addons/discord-sdk-gd/export.gd")
|
||||
var loaded_exportplugin = ExportPlugin.new()
|
||||
|
||||
|
||||
func _enter_tree():
|
||||
func _enable_plugin() -> void:
|
||||
print("DiscordSDK Addon got enabled")
|
||||
add_custom_type("DiscordSDKLoader","Node",DiscordSDKLoader,DiscordSDKLoader_icon)
|
||||
add_custom_type("DiscordSDKDebug","Node",DiscordSDKDebug,DiscordSDKDebug_icon)
|
||||
add_autoload_singleton("DiscordSDKLoader", "res://addons/discord-sdk-gd/nodes/DiscordSDKLoader.tscn")
|
||||
add_autoload_singleton("DiscordSDKLoader", "res://addons/discord-sdk-gd/nodes/core_updater.gd")
|
||||
add_export_plugin(loaded_exportplugin)
|
||||
|
||||
func disable_plugin():
|
||||
ProjectSettings.set_setting("DiscordSDK/EditorPresence/enabled",false)
|
||||
|
||||
ProjectSettings.set_initial_value("DiscordSDK/EditorPresence/enabled",false)
|
||||
ProjectSettings.set_restart_if_changed("DiscordSDK/EditorPresence/enabled",true)
|
||||
|
||||
func _disable_plugin() -> void:
|
||||
print("DiscordSDK Addon got disabled")
|
||||
remove_autoload_singleton("DiscordSDKLoader")
|
||||
remove_custom_type("DiscordSDKLoader")
|
||||
remove_custom_type("DiscordSDKDebug")
|
||||
remove_autoload_singleton("DiscordSDKLoader")
|
||||
remove_export_plugin(loaded_exportplugin)
|
||||
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())
|
||||
discord_sdk.start_timestamp = int(Time.get_unix_time_from_system())
|
||||
discord_sdk.refresh()
|
||||
if(discord_sdk.app_id == 1108142249990176808):
|
||||
discord_sdk.coreupdate()
|
||||
|
@@ -1,12 +1,13 @@
|
||||
extends Node
|
||||
|
||||
func _ready():
|
||||
func _ready() -> void:
|
||||
set_activity()
|
||||
discord_sdk.connect("activity_join_request",_on_activity_join_request)
|
||||
discord_sdk.connect("activity_join",_on_activity_join)
|
||||
discord_sdk.connect("activity_spectate",_on_activity_spectate)
|
||||
|
||||
func set_activity():
|
||||
func set_activity() -> void:
|
||||
discord_sdk.clear()
|
||||
discord_sdk.app_id = 1099618430065324082
|
||||
discord_sdk.details = "A demo activity by vaporvee#1231"
|
||||
discord_sdk.state = "Checkpoint 23/23"
|
||||
@@ -19,7 +20,7 @@ func set_activity():
|
||||
|
||||
# It is NOT recommended to manage secrets locally! It's meant to be a payload wich the server
|
||||
# understands and returns the other variables like current_party_size, party_id etc. Most of the values must differ from the others.
|
||||
var my_secret = str(randi_range(0,999999))
|
||||
var my_secret: String = str(randi_range(0,999999))
|
||||
|
||||
discord_sdk.party_id = "mylobbycanbeeverything_" + my_secret
|
||||
discord_sdk.current_party_size = 1
|
||||
@@ -34,13 +35,13 @@ func set_activity():
|
||||
#discord_sdk.register_steam(1389990)
|
||||
discord_sdk.refresh()
|
||||
|
||||
var user_request = {};
|
||||
var user_request: Dictionary;
|
||||
|
||||
func _on_activity_join_request(user_requesting):
|
||||
func _on_activity_join_request(user_requesting) -> void:
|
||||
print(user_requesting)
|
||||
user_request = user_requesting
|
||||
|
||||
func _on_activity_join(secret):
|
||||
func _on_activity_join(secret) -> void:
|
||||
if(discord_sdk.join_secret != secret):
|
||||
discord_sdk.current_party_size = clamp(int(secret) + 1, 0, discord_sdk.max_party_size)
|
||||
discord_sdk.party_id = secret.replace("j_","mylobbycanbeeverything_")
|
||||
@@ -49,7 +50,7 @@ func _on_activity_join(secret):
|
||||
discord_sdk.spectate_secret = secret.replace("j_","s_")
|
||||
discord_sdk.refresh()
|
||||
|
||||
func _on_activity_spectate(secret):
|
||||
func _on_activity_spectate(secret) -> void:
|
||||
print(secret)
|
||||
|
||||
func _on_toggle_sdk_toggled(button_pressed):
|
||||
|
@@ -20,7 +20,7 @@ config/icon="res://assets/Logo_V2.png"
|
||||
|
||||
[autoload]
|
||||
|
||||
DiscordSDKLoader="*res://addons/discord-sdk-gd/nodes/DiscordSDKLoader.tscn"
|
||||
DiscordSDKLoader="*res://addons/discord-sdk-gd/nodes/core_updater.gd"
|
||||
|
||||
[display]
|
||||
|
||||
|
Reference in New Issue
Block a user