aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Durango/Sentient/DurangoTelemetry.h
blob: 4f0866963cb443512d7e351d25b1fc09d8f835cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#pragma once

#include "..\..\..\Minecraft.World\DurangoStats.h"

#include "..\..\Common\Telemetry\TelemetryManager.h"

class CDurangoTelemetryManager : public CTelemetryManager
{
public:
	static GUID ZERO_GUID;

	unordered_map<wstring, float> m_multiplayerRoundStartTimes;

	CDurangoTelemetryManager();

	//virtual HRESULT Init();
	//virtual HRESULT Tick();
	//virtual HRESULT Flush();

	virtual bool RecordPlayerSessionStart(int iPad);
	virtual bool RecordPlayerSessionExit(int iPad, int exitStatus);
	//virtual bool RecordHeartBeat(int iPad);
	virtual bool RecordLevelStart(int iPad, ESen_FriendOrMatch friendsOrMatch, ESen_CompeteOrCoop competeOrCoop, int difficulty, int numberOfLocalPlayers, int numberOfOnlinePlayers);
	virtual bool RecordLevelExit(int iPad, ESen_LevelExitStatus levelExitStatus);
	virtual bool RecordLevelSaveOrCheckpoint(int iPad, int saveOrCheckPointID, int saveSizeInBytes);
	virtual bool RecordLevelResume(int iPad, ESen_FriendOrMatch friendsOrMatch, ESen_CompeteOrCoop competeOrCoop, int difficulty, int numberOfLocalPlayers, int numberOfOnlinePlayers, int saveOrCheckPointID);
	virtual bool RecordPauseOrInactive(int iPad);
	virtual bool RecordUnpauseOrActive(int iPad);
	virtual bool RecordMenuShown(int iPad, EUIScene menuID, int optionalMenuSubID);
	virtual bool RecordAchievementUnlocked(int iPad, int achievementID, int achievementGamerscore);
	virtual bool RecordMediaShareUpload(int iPad, ESen_MediaDestination mediaDestination, ESen_MediaType mediaType);
	virtual bool RecordUpsellPresented(int iPad, ESen_UpsellID upsellId, int marketplaceOfferID);
	virtual bool RecordUpsellResponded(int iPad, ESen_UpsellID upsellId, int marketplaceOfferID, ESen_UpsellOutcome upsellOutcome);
	virtual bool RecordPlayerDiedOrFailed(int iPad, int lowResMapX, int lowResMapY, int lowResMapZ, int mapID, int playerWeaponID, int enemyWeaponID, ETelemetryChallenges enemyTypeID);
	virtual bool RecordEnemyKilledOrOvercome(int iPad, int lowResMapX, int lowResMapY, int lowResMapZ, int mapID, int playerWeaponID, int enemyWeaponID, ETelemetryChallenges enemyTypeID);
	virtual bool RecordTexturePackLoaded(int iPad, int texturePackId, bool purchased);

	virtual bool RecordSkinChanged(int iPad, int dwSkinId);
	virtual bool RecordBanLevel(int iPad);
	virtual bool RecordUnBanLevel(int iPad);

	//virtual int GetMultiplayerInstanceID();
	//virtual int GenerateMultiplayerInstanceId();
	//virtual void SetMultiplayerInstanceId(int value);

protected:
	DurangoStats *durangoStats();

	wstring guid2str(LPCGUID guid);
};