mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-06-03 18:02:54 +00:00
Pulls the three remaining platform-shaped interfaces out of app/common/ and into platform/network/, platform/leaderboard/ and platform/game/, each with a function accessor + true no-op stub backend matching the existing platform/profile/ template. Drops the duplicate PlatformNetworkManagerInterface.h that was a stale copy of the same type. Existing app-side singletons (LeaderboardManager, LinuxLeaderboardManager, IPlatformNetworkStub, LinuxGame) keep working unchanged - the structural fix is just that the interface they depend on now lives in platform/ where it belongs.
30 lines
1.1 KiB
C++
30 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
|
|
#include "minecraft/GameEnums.h"
|
|
|
|
class IPlatformGame {
|
|
public:
|
|
virtual ~IPlatformGame() = default;
|
|
|
|
virtual void SetRichPresenceContext(int iPad, int contextId) = 0;
|
|
|
|
virtual void CaptureSaveThumbnail() = 0;
|
|
virtual void GetSaveThumbnail(std::uint8_t** thumbnailData,
|
|
unsigned int* thumbnailSize) = 0;
|
|
virtual void ReleaseSaveThumbnail() = 0;
|
|
virtual void GetScreenshot(int iPad, std::uint8_t** screenshotData,
|
|
unsigned int* screenshotSize) = 0;
|
|
|
|
virtual void ReadBannedList(int iPad, eTMSAction action = (eTMSAction)0,
|
|
bool bCallback = false) = 0;
|
|
|
|
virtual int LoadLocalTMSFile(char* wchTMSFile) = 0;
|
|
virtual int LoadLocalTMSFile(char* wchTMSFile, eFileExtensionType eExt) = 0;
|
|
virtual void FreeLocalTMSFiles(eTMSFileType eType) = 0;
|
|
virtual int GetLocalTMSFileIndex(char* wchTMSFile,
|
|
bool bFilenameIncludesExtension,
|
|
eFileExtensionType eEXT) = 0;
|
|
};
|