Files
MinecraftConsoles/Minecraft.Client/Orbis/Network/Orbis_NPToolkit.h
2026-03-01 12:16:08 +08:00

35 lines
1.2 KiB
C++

#pragma once
#include <np_toolkit.h>
#include <np_toolkit/game_custom_data_interface.h>
class OrbisNPToolkit
{
public:
void init();
static void sceNpToolkitCallback( const sce::Toolkit::NP::Event& event);
static void coreCallback( const sce::Toolkit::NP::Event& event);
static void presenceCallback( const sce::Toolkit::NP::Event& event);
static void sessionsCallback( const sce::Toolkit::NP::Event& event);
static void gameCustomDataCallback( const sce::Toolkit::NP::Event& event);
static void messagingCallback( const sce::Toolkit::NP::Event& event);
static void createNPSession();
static void destroyNPSession();
static void joinNPSession();
static void leaveNPSession();
static SceNpSessionId* getNPSessionID() { return &m_currentSessionInfo.npSessionId; }
static void getMessageData(SceNpGameCustomDataEventParam* paramData);
private:
static sce::Toolkit::NP::Utilities::Future<sce::Toolkit::NP::NpSessionInformation> sm_createJoinFuture;
static sce::Toolkit::NP::NpSessionInformation m_currentSessionInfo;
static sce::Toolkit::NP::Utilities::Future<sce::Toolkit::NP::MessageAttachment> m_messageData;
};
// Singleton
extern OrbisNPToolkit NPToolkit;