got root connector node saved as variable
This commit is contained in:
@@ -48,6 +48,9 @@ auto_connect = true
|
||||
auto_token_manage = true
|
||||
script = ExtResource("3_h2yge")
|
||||
|
||||
[node name="DiscordActivity" type="DiscordActivity" parent="DiscordConnector"]
|
||||
root_connector = NodePath("/root/@EditorNode@21257/@Panel@14/@VBoxContainer@15/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@26/DockVSplitCenter/@VSplitContainer@54/@VBoxContainer@55/@EditorMainScreen@102/MainScreen/@CanvasItemEditor@11479/@VSplitContainer@11131/@HSplitContainer@11133/@HSplitContainer@11135/@Control@11136/@SubViewportContainer@11137/@SubViewport@11138/Node/DiscordConnector")
|
||||
|
||||
[connection signal="user_connected" from="DiscordConnector" to="DiscordConnector" method="_on_user_connected"]
|
||||
[connection signal="user_connection_failed" from="DiscordConnector" to="DiscordConnector" method="_on_user_connection_failed"]
|
||||
[connection signal="user_update_failed" from="DiscordConnector" to="DiscordConnector" method="_on_user_update_failed"]
|
||||
|
49
src/nodes/discord_activity.cpp
Normal file
49
src/nodes/discord_activity.cpp
Normal file
@@ -0,0 +1,49 @@
|
||||
#include "discord_activity.h"
|
||||
|
||||
DiscordActivity *DiscordActivity::singleton = nullptr;
|
||||
|
||||
void DiscordActivity::_bind_methods()
|
||||
{
|
||||
BIND_SET_GET(DiscordActivity, root_connector, Variant::NODE_PATH, godot::PROPERTY_HINT_NODE_PATH_VALID_TYPES, "DiscordConnector");
|
||||
}
|
||||
DiscordActivity::DiscordActivity()
|
||||
{
|
||||
singleton = this;
|
||||
}
|
||||
DiscordActivity::~DiscordActivity()
|
||||
{
|
||||
singleton = nullptr;
|
||||
}
|
||||
DiscordActivity *DiscordActivity::get_singleton()
|
||||
{
|
||||
return singleton;
|
||||
}
|
||||
|
||||
NodePath DiscordActivity::get_root_connector()
|
||||
{
|
||||
return root_connector;
|
||||
}
|
||||
|
||||
void DiscordActivity::set_root_connector(NodePath value)
|
||||
{
|
||||
root_connector = value;
|
||||
}
|
||||
|
||||
void DiscordActivity::_enter_tree()
|
||||
{
|
||||
if (Object::cast_to<DiscordConnector>(get_parent()))
|
||||
{
|
||||
if (root_connector.is_empty())
|
||||
{
|
||||
root_connector = Object::cast_to<DiscordConnector>(get_parent())->get_path();
|
||||
if (!root_connector.is_empty())
|
||||
{
|
||||
connector = get_node<DiscordConnector>(root_connector);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
connector = get_node<DiscordConnector>(root_connector);
|
||||
}
|
||||
}
|
||||
}
|
37
src/nodes/discord_activity.h
Normal file
37
src/nodes/discord_activity.h
Normal file
@@ -0,0 +1,37 @@
|
||||
#ifndef DISCORD_ACTIVITY_SDK_H
|
||||
#define DISCORD_ACTIVITY_SDK_H
|
||||
|
||||
#include "discord_activity.h"
|
||||
#include "discord_social_sdk.h"
|
||||
#include "discord_connector.h"
|
||||
|
||||
using namespace godot;
|
||||
|
||||
class DiscordActivity : public DiscordSocialSDK
|
||||
{
|
||||
GDCLASS(DiscordActivity, DiscordSocialSDK);
|
||||
|
||||
static DiscordActivity *singleton;
|
||||
|
||||
protected:
|
||||
static void _bind_methods();
|
||||
|
||||
private:
|
||||
NodePath root_connector; // Change to NodePath object
|
||||
|
||||
public:
|
||||
static DiscordActivity *
|
||||
get_singleton();
|
||||
|
||||
DiscordConnector *connector;
|
||||
|
||||
NodePath get_root_connector(); // Adjust return type
|
||||
void set_root_connector(NodePath value); // Adjust parameter type
|
||||
|
||||
DiscordActivity();
|
||||
~DiscordActivity();
|
||||
|
||||
void _enter_tree() override;
|
||||
};
|
||||
|
||||
#endif
|
@@ -14,6 +14,7 @@ void initialize_DiscordUtil_module(ModuleInitializationLevel p_level)
|
||||
Engine::get_singleton()->register_singleton("DiscordUtil", DiscordUtil::get_singleton());
|
||||
ClassDB::register_class<EditorPresence>();
|
||||
ClassDB::register_class<DiscordConnector>();
|
||||
ClassDB::register_class<DiscordActivity>();
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -16,5 +16,6 @@ void uninitialize_DiscordUtil_module();
|
||||
#include "nodes/discord_social_sdk.h"
|
||||
#include "nodes/editor_presence.h"
|
||||
#include "nodes/discord_connector.h"
|
||||
#include "nodes/discord_activity.h"
|
||||
|
||||
#endif // REGISTER_TYPES_H
|
Reference in New Issue
Block a user