reorganized naming

This commit is contained in:
Yannik
2023-04-22 23:41:09 +02:00
parent 608a283219
commit ad2a94c422
6 changed files with 45 additions and 46 deletions

View File

@@ -1,4 +1,4 @@
extends Node extends Node
func _process(delta): func _process(delta):
DiscordSDK.coreupdate() Discord_Activity.coreupdate()

View File

@@ -1,10 +1,9 @@
extends Node extends Node
func _ready(): func _ready():
DiscordSDK.debug() Discord_Activity.app_id = 918857075105349632
#DiscordSDK.app_id = 918857075105349632 Discord_Activity.details = "Made with GDExtension"
#DiscordSDK.details = "Made with GDExtension" Discord_Activity.state = "This is a test from GDScript in Godot 4"
#DiscordSDK.state = "This is a test from GDScript in Godot 4"
#DiscordSDK.refresh() Discord_Activity.refresh()
#$Info.text = $Info.text.replace("{id}",str(DiscordSDK.app_id)).replace("{details}",DiscordSDK.details).replace("{state}",DiscordSDK.state) $Info.text = $Info.text.replace("{id}",str(Discord_Activity.app_id)).replace("{details}",Discord_Activity.details).replace("{state}",Discord_Activity.state)

View File

@@ -1,4 +1,4 @@
#include "main.h" #include "activity.h"
#include "./discord-game-sdk-cpp/discord.h" #include "./discord-game-sdk-cpp/discord.h"
#include <godot_cpp/core/class_db.hpp> #include <godot_cpp/core/class_db.hpp>
#include <godot_cpp/classes/editor_plugin.hpp> #include <godot_cpp/classes/editor_plugin.hpp>
@@ -6,48 +6,48 @@
using namespace godot; using namespace godot;
DiscordSDK *DiscordSDK::singleton = nullptr; Discord_Activity *Discord_Activity::singleton = nullptr;
discord::Core *core{}; discord::Core *core{};
discord::Result result; discord::Result result;
discord::Activity activity{}; discord::Activity activity{};
void DiscordSDK::_bind_methods() void Discord_Activity::_bind_methods()
{ {
ClassDB::bind_method(D_METHOD("debug"), &DiscordSDK::debug); ClassDB::bind_method(D_METHOD("debug"), &Discord_Activity::debug);
ClassDB::bind_method(D_METHOD("coreupdate"), &DiscordSDK::coreupdate); ClassDB::bind_method(D_METHOD("coreupdate"), &Discord_Activity::coreupdate);
ClassDB::bind_method(D_METHOD("get_app_id"), &DiscordSDK::get_app_id); ClassDB::bind_method(D_METHOD("get_app_id"), &Discord_Activity::get_app_id);
ClassDB::bind_method(D_METHOD("set_app_id", "app_id"), &DiscordSDK::set_app_id); ClassDB::bind_method(D_METHOD("set_app_id", "app_id"), &Discord_Activity::set_app_id);
ADD_PROPERTY(PropertyInfo(Variant::INT, "app_id"), "set_app_id", "get_app_id"); ADD_PROPERTY(PropertyInfo(Variant::INT, "app_id"), "set_app_id", "get_app_id");
ClassDB::bind_method(D_METHOD("get_state"), &DiscordSDK::get_state); ClassDB::bind_method(D_METHOD("get_state"), &Discord_Activity::get_state);
ClassDB::bind_method(D_METHOD("set_state", "state"), &DiscordSDK::set_state); ClassDB::bind_method(D_METHOD("set_state", "state"), &Discord_Activity::set_state);
ADD_PROPERTY(PropertyInfo(Variant::STRING, "state"), "set_state", "get_state"); ADD_PROPERTY(PropertyInfo(Variant::STRING, "state"), "set_state", "get_state");
ClassDB::bind_method(D_METHOD("get_details"), &DiscordSDK::get_details); ClassDB::bind_method(D_METHOD("get_details"), &Discord_Activity::get_details);
ClassDB::bind_method(D_METHOD("set_details", "details"), &DiscordSDK::set_details); ClassDB::bind_method(D_METHOD("set_details", "details"), &Discord_Activity::set_details);
ADD_PROPERTY(PropertyInfo(Variant::STRING, "details"), "set_details", "get_details"); ADD_PROPERTY(PropertyInfo(Variant::STRING, "details"), "set_details", "get_details");
ClassDB::bind_method(D_METHOD("refresh"), &DiscordSDK::refresh); ClassDB::bind_method(D_METHOD("refresh"), &Discord_Activity::refresh);
} }
DiscordSDK *DiscordSDK::get_singleton() Discord_Activity *Discord_Activity::get_singleton()
{ {
return singleton; return singleton;
} }
DiscordSDK::DiscordSDK() Discord_Activity::Discord_Activity()
{ {
ERR_FAIL_COND(singleton != nullptr); ERR_FAIL_COND(singleton != nullptr);
singleton = this; singleton = this;
} }
DiscordSDK::~DiscordSDK() Discord_Activity::~Discord_Activity()
{ {
ERR_FAIL_COND(singleton != this); ERR_FAIL_COND(singleton != this);
singleton = nullptr; singleton = nullptr;
} }
void DiscordSDK::debug() void Discord_Activity::debug()
{ {
auto debugresult = discord::Core::Create(1080224638845591692, DiscordCreateFlags_NoRequireDiscord, &core); auto debugresult = discord::Core::Create(1080224638845591692, DiscordCreateFlags_NoRequireDiscord, &core);
discord::Activity debugactivity{}; discord::Activity debugactivity{};
@@ -60,41 +60,41 @@ void DiscordSDK::debug()
core->ActivityManager().UpdateActivity(debugactivity, [](discord::Result debugresult) {}); core->ActivityManager().UpdateActivity(debugactivity, [](discord::Result debugresult) {});
} }
void DiscordSDK::coreupdate() void Discord_Activity::coreupdate()
{ {
::core->RunCallbacks(); ::core->RunCallbacks();
} }
void DiscordSDK::set_app_id(const int64_t &appid) void Discord_Activity::set_app_id(const int64_t &appid)
{ {
app_id = appid; app_id = appid;
result = discord::Core::Create(app_id, DiscordCreateFlags_NoRequireDiscord, &core); result = discord::Core::Create(app_id, DiscordCreateFlags_NoRequireDiscord, &core);
} }
int64_t DiscordSDK::get_app_id() const int64_t Discord_Activity::get_app_id() const
{ {
return app_id; return app_id;
} }
void DiscordSDK::set_state(const String &pstate) void Discord_Activity::set_state(const String &pstate)
{ {
state = pstate; state = pstate;
activity.SetState(state.utf8().get_data()); activity.SetState(state.utf8().get_data());
} }
String DiscordSDK::get_state() const String Discord_Activity::get_state() const
{ {
return state; return state;
} }
void DiscordSDK::set_details(const String &detail) void Discord_Activity::set_details(const String &detail)
{ {
details = detail; details = detail;
activity.SetDetails(details.utf8().get_data()); activity.SetDetails(details.utf8().get_data());
} }
String DiscordSDK::get_details() const String Discord_Activity::get_details() const
{ {
return details; return details;
} }
void DiscordSDK::refresh() void Discord_Activity::refresh()
{ {
core->ActivityManager().UpdateActivity(activity, [](discord::Result result) {}); core->ActivityManager().UpdateActivity(activity, [](discord::Result result) {});
} }

View File

@@ -1,5 +1,5 @@
#ifndef MAIN_H #ifndef ACTIVITY_H
#define MAIN_H #define ACTIVITY_H
#include <stdio.h> #include <stdio.h>
#include <godot_cpp/classes/object.hpp> #include <godot_cpp/classes/object.hpp>
@@ -7,11 +7,11 @@
using namespace godot; using namespace godot;
class DiscordSDK : public Object class Discord_Activity : public Object
{ {
GDCLASS(DiscordSDK, Object); GDCLASS(Discord_Activity, Object);
static DiscordSDK *singleton; static Discord_Activity *singleton;
protected: protected:
static void _bind_methods(); static void _bind_methods();
@@ -22,10 +22,10 @@ private:
String details; String details;
public: public:
static DiscordSDK *get_singleton(); static Discord_Activity *get_singleton();
DiscordSDK(); Discord_Activity();
~DiscordSDK(); ~Discord_Activity();
void debug(); void debug();
void coreupdate(); void coreupdate();

View File

@@ -6,19 +6,19 @@
#include <godot_cpp/classes/engine.hpp> #include <godot_cpp/classes/engine.hpp>
#include <godot_cpp/godot.hpp> #include <godot_cpp/godot.hpp>
#include "main.h" #include "activity.h"
using namespace godot; using namespace godot;
static DiscordSDK *discordsdk; static Discord_Activity *discordactivity;
void gdextension_initialize(ModuleInitializationLevel p_level) void gdextension_initialize(ModuleInitializationLevel p_level)
{ {
if (p_level == MODULE_INITIALIZATION_LEVEL_SCENE) if (p_level == MODULE_INITIALIZATION_LEVEL_SCENE)
{ {
ClassDB::register_class<DiscordSDK>(); ClassDB::register_class<Discord_Activity>();
discordsdk = memnew(DiscordSDK); discordactivity = memnew(Discord_Activity);
Engine::get_singleton()->register_singleton("DiscordSDK", DiscordSDK::get_singleton()); // Cant change the class name in the cpp files for some reason Engine::get_singleton()->register_singleton("Discord_Activity", Discord_Activity::get_singleton()); // Cant change the class name in the cpp files for some reason
} }
} }
@@ -26,8 +26,8 @@ void gdextension_terminate(ModuleInitializationLevel p_level)
{ {
if (p_level == MODULE_INITIALIZATION_LEVEL_SCENE) if (p_level == MODULE_INITIALIZATION_LEVEL_SCENE)
{ {
Engine::get_singleton()->unregister_singleton("DiscordSDK"); Engine::get_singleton()->unregister_singleton("Discord_Activity");
memdelete(discordsdk); memdelete(discordactivity);
} }
} }