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"
24 public ::std::enable_shared_from_this<::World::WorldActivitySessionTracker> {
28 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::World::WorldJoinedRecord>>> mJoinedRecords;
29 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>
const> mRecordFilePath;
30 ::ll::TypedStorage<8, 336, ::TaskGroup> mSerializeJoinedActivity;
31 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mSignInSubscription;
36 WorldActivitySessionTracker();
41 virtual ~WorldActivitySessionTracker() =
default;
43 virtual ::EventResult onClientEnteredWorld(::ClientInstance& instance) ;
49 MCAPI
explicit WorldActivitySessionTracker(::Core::PathBuffer<::std::string>
const& tempDirectory);
51 MCAPI ::World::SessionTrackerOperationResult
52 _addOrUpdate(::std::unique_ptr<::World::WorldJoinedRecord> pJoinedRecord);
54 MCAPI
void initialize(::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager>
const& userManager);
60 MCAPI
void* $ctor(::Core::PathBuffer<::std::string>
const& tempDirectory);
66 MCAPI ::EventResult $onClientEnteredWorld(::ClientInstance& instance);
Definition ClientInstance.h:5
Definition IUserManager.h:7
Definition WorldActivitySessionTracker.h:7
Definition WorldJoinedRecord.h:7