first commit
This commit is contained in:
83
Minecraft.Client/Orbis/Sentient/SentientManager.h
Normal file
83
Minecraft.Client/Orbis/Sentient/SentientManager.h
Normal file
@@ -0,0 +1,83 @@
|
||||
#pragma once
|
||||
#include "MinecraftTelemetry.h"
|
||||
|
||||
class CSentientManager
|
||||
{
|
||||
public:
|
||||
enum ETelemetryEvent
|
||||
{
|
||||
eTelemetry_PlayerSessionStart,
|
||||
eTelemetry_PlayerSessionExit,
|
||||
eTelemetry_HeartBeat,
|
||||
eTelemetry_LevelStart,
|
||||
eTelemetry_LevelExit,
|
||||
eTelemetry_LevelSaveOrCheckpoint,
|
||||
eTelemetry_PauseOrInactive,
|
||||
eTelemetry_UnpauseOrActive,
|
||||
eTelemetry_MenuShown,
|
||||
eTelemetry_AchievementUnlocked,
|
||||
eTelemetry_MediaShareUpload,
|
||||
eTelemetry_UpsellPresented,
|
||||
eTelemetry_UpsellResponded,
|
||||
eTelemetry_PlayerDiedOrFailed,
|
||||
eTelemetry_EnemyKilledOrOvercome,
|
||||
};
|
||||
|
||||
HRESULT Init();
|
||||
HRESULT Tick();
|
||||
|
||||
HRESULT Flush();
|
||||
|
||||
BOOL RecordPlayerSessionStart(DWORD dwUserId);
|
||||
BOOL RecordPlayerSessionExit(DWORD dwUserId, int exitStatus);
|
||||
BOOL RecordHeartBeat(DWORD dwUserId);
|
||||
BOOL RecordLevelStart(DWORD dwUserId, ESen_FriendOrMatch friendsOrMatch, ESen_CompeteOrCoop competeOrCoop, int difficulty, DWORD numberOfLocalPlayers, DWORD numberOfOnlinePlayers);
|
||||
BOOL RecordLevelExit(DWORD dwUserId, ESen_LevelExitStatus levelExitStatus);
|
||||
BOOL RecordLevelSaveOrCheckpoint(DWORD dwUserId, INT saveOrCheckPointID, INT saveSizeInBytes);
|
||||
BOOL RecordLevelResume(DWORD dwUserId, ESen_FriendOrMatch friendsOrMatch, ESen_CompeteOrCoop competeOrCoop, int difficulty, DWORD numberOfLocalPlayers, DWORD numberOfOnlinePlayers, INT saveOrCheckPointID);
|
||||
BOOL RecordPauseOrInactive(DWORD dwUserId);
|
||||
BOOL RecordUnpauseOrActive(DWORD dwUserId);
|
||||
BOOL RecordMenuShown(DWORD dwUserId, INT menuID, INT optionalMenuSubID);
|
||||
BOOL RecordAchievementUnlocked(DWORD dwUserId, INT achievementID, INT achievementGamerscore);
|
||||
BOOL RecordMediaShareUpload(DWORD dwUserId, ESen_MediaDestination mediaDestination, ESen_MediaType mediaType);
|
||||
BOOL RecordUpsellPresented(DWORD dwUserId, ESen_UpsellID upsellId, INT marketplaceOfferID);
|
||||
BOOL RecordUpsellResponded(DWORD dwUserId, ESen_UpsellID upsellId, INT marketplaceOfferID, ESen_UpsellOutcome upsellOutcome);
|
||||
BOOL RecordPlayerDiedOrFailed(DWORD dwUserId, INT lowResMapX, INT lowResMapY, INT lowResMapZ, INT mapID, INT playerWeaponID, INT enemyWeaponID, ETelemetryChallenges enemyTypeID);
|
||||
BOOL RecordEnemyKilledOrOvercome(DWORD dwUserId, INT lowResMapX, INT lowResMapY, INT lowResMapZ, INT mapID, INT playerWeaponID, INT enemyWeaponID, ETelemetryChallenges enemyTypeID);
|
||||
|
||||
BOOL RecordSkinChanged(DWORD dwUserId, DWORD dwSkinId);
|
||||
BOOL RecordBanLevel(DWORD dwUserId);
|
||||
BOOL RecordUnBanLevel(DWORD dwUserId);
|
||||
|
||||
INT GetMultiplayerInstanceID();
|
||||
INT GenerateMultiplayerInstanceId();
|
||||
void SetMultiplayerInstanceId(INT value);
|
||||
|
||||
private:
|
||||
float m_initialiseTime;
|
||||
float m_lastHeartbeat;
|
||||
bool m_bFirstFlush;
|
||||
|
||||
float m_fLevelStartTime[XUSER_MAX_COUNT];
|
||||
|
||||
INT m_multiplayerInstanceID;
|
||||
DWORD m_levelInstanceID;
|
||||
|
||||
// Helper functions to get the various common settings
|
||||
INT GetSecondsSinceInitialize();
|
||||
INT GetMode(DWORD dwUserId);
|
||||
INT GetSubMode(DWORD dwUserId);
|
||||
INT GetLevelId(DWORD dwUserId);
|
||||
INT GetSubLevelId(DWORD dwUserId);
|
||||
INT GetTitleBuildId();
|
||||
INT GetLevelInstanceID();
|
||||
INT GetSingleOrMultiplayer();
|
||||
INT GetDifficultyLevel(INT diff);
|
||||
INT GetLicense();
|
||||
INT GetDefaultGameControls();
|
||||
INT GetAudioSettings(DWORD dwUserId);
|
||||
INT GetLevelExitProgressStat1();
|
||||
INT GetLevelExitProgressStat2();
|
||||
};
|
||||
|
||||
extern CSentientManager SentientManager;
|
||||
Reference in New Issue
Block a user