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
func _process(delta):
DiscordSDK.coreupdate()
Discord_Activity.coreupdate()

View File

@@ -1,10 +1,9 @@
extends Node
func _ready():
DiscordSDK.debug()
#DiscordSDK.app_id = 918857075105349632
#DiscordSDK.details = "Made with GDExtension"
#DiscordSDK.state = "This is a test from GDScript in Godot 4"
Discord_Activity.app_id = 918857075105349632
Discord_Activity.details = "Made with GDExtension"
Discord_Activity.state = "This is a test from GDScript in Godot 4"
#DiscordSDK.refresh()
#$Info.text = $Info.text.replace("{id}",str(DiscordSDK.app_id)).replace("{details}",DiscordSDK.details).replace("{state}",DiscordSDK.state)
Discord_Activity.refresh()
$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 <godot_cpp/core/class_db.hpp>
#include <godot_cpp/classes/editor_plugin.hpp>
@@ -6,48 +6,48 @@
using namespace godot;
DiscordSDK *DiscordSDK::singleton = nullptr;
Discord_Activity *Discord_Activity::singleton = nullptr;
discord::Core *core{};
discord::Result result;
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("coreupdate"), &DiscordSDK::coreupdate);
ClassDB::bind_method(D_METHOD("debug"), &Discord_Activity::debug);
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("set_app_id", "app_id"), &DiscordSDK::set_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"), &Discord_Activity::set_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("set_state", "state"), &DiscordSDK::set_state);
ClassDB::bind_method(D_METHOD("get_state"), &Discord_Activity::get_state);
ClassDB::bind_method(D_METHOD("set_state", "state"), &Discord_Activity::set_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("set_details", "details"), &DiscordSDK::set_details);
ClassDB::bind_method(D_METHOD("get_details"), &Discord_Activity::get_details);
ClassDB::bind_method(D_METHOD("set_details", "details"), &Discord_Activity::set_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;
}
DiscordSDK::DiscordSDK()
Discord_Activity::Discord_Activity()
{
ERR_FAIL_COND(singleton != nullptr);
singleton = this;
}
DiscordSDK::~DiscordSDK()
Discord_Activity::~Discord_Activity()
{
ERR_FAIL_COND(singleton != this);
singleton = nullptr;
}
void DiscordSDK::debug()
void Discord_Activity::debug()
{
auto debugresult = discord::Core::Create(1080224638845591692, DiscordCreateFlags_NoRequireDiscord, &core);
discord::Activity debugactivity{};
@@ -60,41 +60,41 @@ void DiscordSDK::debug()
core->ActivityManager().UpdateActivity(debugactivity, [](discord::Result debugresult) {});
}
void DiscordSDK::coreupdate()
void Discord_Activity::coreupdate()
{
::core->RunCallbacks();
}
void DiscordSDK::set_app_id(const int64_t &appid)
void Discord_Activity::set_app_id(const int64_t &appid)
{
app_id = appid;
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;
}
void DiscordSDK::set_state(const String &pstate)
void Discord_Activity::set_state(const String &pstate)
{
state = pstate;
activity.SetState(state.utf8().get_data());
}
String DiscordSDK::get_state() const
String Discord_Activity::get_state() const
{
return state;
}
void DiscordSDK::set_details(const String &detail)
void Discord_Activity::set_details(const String &detail)
{
details = detail;
activity.SetDetails(details.utf8().get_data());
}
String DiscordSDK::get_details() const
String Discord_Activity::get_details() const
{
return details;
}
void DiscordSDK::refresh()
void Discord_Activity::refresh()
{
core->ActivityManager().UpdateActivity(activity, [](discord::Result result) {});
}

View File

@@ -1,5 +1,5 @@
#ifndef MAIN_H
#define MAIN_H
#ifndef ACTIVITY_H
#define ACTIVITY_H
#include <stdio.h>
#include <godot_cpp/classes/object.hpp>
@@ -7,11 +7,11 @@
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:
static void _bind_methods();
@@ -22,10 +22,10 @@ private:
String details;
public:
static DiscordSDK *get_singleton();
static Discord_Activity *get_singleton();
DiscordSDK();
~DiscordSDK();
Discord_Activity();
~Discord_Activity();
void debug();
void coreupdate();

View File

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