#pragma once class AceInterface { public: const static wchar_t* kLibraryDir; const static uint32_t kGameID; const static char* kAuthToken; const static uint32_t kWorldID; public: static bool initAceInterface(); static bool onPlayerLogin(const AceSdkAccount& account, AceSdkTicket& ace_ticket, AceSdkLightFeatureResponse& lightFeature); static void onPlayerLogout(const AceSdkAccount& account); static void onReceiveClientTickPacket(const AceSdkAccount& account, const uint8_t* packet_buffer, uint32_t packet_len); static void getServerTickPacket(AceSdkServerPacketList& serverTickPackets); static void keepClientAlive(const AceSdkAccount& account); static bool onUGCRequest(const AceSdkAccount& account, int32_t ugcSceneID, const char* content, int32_t ugcCtxID, int32_t clientID); private: static int onAceTextJudgeCallback(const AceSdkUicJudgeResultInfoBatchMultiText* result_info); struct AceTextJudgeCallbackData { int32_t clientID; int32_t ugcClientCtxID; }; };