3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/world/SessionTrackerOperationResult.h"
7#include "mc/deps/core/file/PathBuffer.h"
8#include "mc/deps/core/threading/TaskGroup.h"
9#include "mc/deps/core/utility/NonOwnerPointer.h"
10#include "mc/deps/core/utility/pub_sub/Subscription.h"
11#include "mc/world/events/ClientInstanceEventListener.h"
12#include "mc/world/events/EventResult.h"
18namespace Json {
class Value; }
19namespace Realms {
struct World; }
28 public ::std::enable_shared_from_this<::World::WorldActivitySessionTracker> {
32 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::World::WorldJoinedRecord>>> mJoinedRecords;
33 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>
const> mRecordFilePath;
34 ::ll::TypedStorage<8, 336, ::TaskGroup> mSerializeJoinedActivity;
35 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mSignInSubscription;
40 WorldActivitySessionTracker();
45 virtual ~WorldActivitySessionTracker() ;
47 virtual ::EventResult onClientEnteredWorld(::ClientInstance& instance) ;
53 MCAPI
explicit WorldActivitySessionTracker(::Core::PathBuffer<::std::string>
const& tempDirectory);
55 MCAPI ::World::SessionTrackerOperationResult
56 _addOrUpdate(::std::unique_ptr<::World::WorldJoinedRecord> pJoinedRecord);
58 MCAPI ::World::SessionTrackerOperationResult _processJoinedWorld(::ClientInstance& instance);
60 MCAPI ::Json::Value _serializeToJson()
const;
62 MCAPI
void initialize(::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager>
const& userManager);
64 MCAPI ::World::SessionTrackerOperationResult joinedLocal(::ILevel
const*
const level);
66 MCAPI ::World::SessionTrackerOperationResult
67 joinedNetworkGame(::Social::GameConnectionInfo
const& gameConnectionInfo, ::ILevel
const*
const level);
69 MCAPI ::World::SessionTrackerOperationResult joinedRealm(::Realms::World*
const realmWorld);
75 MCAPI
void* $ctor(::Core::PathBuffer<::std::string>
const& tempDirectory);
87 MCAPI ::EventResult $onClientEnteredWorld(::ClientInstance& instance);
Definition ClientInstance.h:5
Definition GameConnectionInfo.h:21
Definition IUserManager.h:34
Definition WorldActivitySessionTracker.h:7
static MCAPI void ** $vftable()
Definition WorldJoinedRecord.h:7