added addon as plugin to simplefy gdscript user code

This commit is contained in:
Yannik
2023-04-20 11:43:28 +02:00
parent 4701514f3b
commit d867881678
9 changed files with 41 additions and 6 deletions

3
build.py Normal file
View File

@@ -0,0 +1,3 @@
import os
os.system("scons && cd project && godot project.godot")#ask if editor or game should be opened

View File

@@ -0,0 +1,11 @@
extends Node
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
DiscordSDK.update()

View File

@@ -0,0 +1,7 @@
[plugin]
name="DiscordRPC"
description="Takes the activity manager part from the discord-game-sdk and adds GDscript functionality."
author="vaporvee"
version="0.1"
script="plugin.gd"

View File

@@ -0,0 +1,8 @@
@tool
extends EditorPlugin
func _enter_tree():
add_autoload_singleton("Discord", "res://addons/discord-rpc-gd/loadaddon.gd")
func disable_plugin():
remove_autoload_singleton("Discord")

View File

@@ -4,6 +4,3 @@ extends Node
# Called when the node enters the scene tree for the first time.
func _ready():
DiscordSDK.debug()
func _process(_delta):
DiscordSDK.updatedebug()

View File

@@ -17,10 +17,18 @@ boot_splash/bg_color=Color(0.341176, 0.415686, 0.929412, 1)
boot_splash/image="res://assets/Logo_V2.png"
config/icon="res://assets/Logo_V2.png"
[autoload]
Discord="*res://addons/discord-rpc-gd/loadaddon.gd"
[dotnet]
project/assembly_name="GDExtension Test Project"
[editor_plugins]
enabled=PackedStringArray("res://addons/discord-rpc-gd/plugin.cfg")
[native_extensions]
paths=["res://example.gdextension"]

View File

@@ -1,6 +1,7 @@
#include "main.h"
#include "./discord-game-sdk-cpp/discord.h"
#include <godot_cpp/core/class_db.hpp>
#include <godot_cpp/classes/editor_plugin.hpp>
#include <godot_cpp/variant/utility_functions.hpp>
using namespace godot;
@@ -11,7 +12,7 @@ discord::Core *core{};
void DiscordSDK::_bind_methods()
{
ClassDB::bind_method(D_METHOD("debug"), &DiscordSDK::debug);
ClassDB::bind_method(D_METHOD("updatedebug"), &DiscordSDK::updatedebug);
ClassDB::bind_method(D_METHOD("update"), &DiscordSDK::update);
}
DiscordSDK *DiscordSDK::get_singleton()
@@ -42,7 +43,7 @@ void DiscordSDK::debug()
assets.SetSmallImage("godot");
core->ActivityManager().UpdateActivity(activity, [](discord::Result result) {});
}
void DiscordSDK::updatedebug()
void DiscordSDK::update()
{
::core->RunCallbacks();
}

View File

@@ -22,7 +22,7 @@ public:
~DiscordSDK();
void debug();
void updatedebug();
void update();
};
#endif