LeviLamina
Loading...
Searching...
No Matches
WorldActivitySessionTracker.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
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"
13
14// auto generated forward declare list
15// clang-format off
16class ClientInstance;
17class ILevel;
18namespace Json { class Value; }
19namespace Realms { struct World; }
20namespace Social { class GameConnectionInfo; }
21namespace Social { class IUserManager; }
22namespace World { class WorldJoinedRecord; }
23// clang-format on
24
25namespace World {
26
27class WorldActivitySessionTracker : public ::ClientInstanceEventListener,
28 public ::std::enable_shared_from_this<::World::WorldActivitySessionTracker> {
29public:
30 // member variables
31 // NOLINTBEGIN
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;
36 // NOLINTEND
37
38public:
39 // prevent constructor by default
40 WorldActivitySessionTracker();
41
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 virtual ~WorldActivitySessionTracker() /*override*/;
46
47 virtual ::EventResult onClientEnteredWorld(::ClientInstance& instance) /*override*/;
48 // NOLINTEND
49
50public:
51 // member functions
52 // NOLINTBEGIN
53 MCAPI explicit WorldActivitySessionTracker(::Core::PathBuffer<::std::string> const& tempDirectory);
54
55 MCAPI ::World::SessionTrackerOperationResult
56 _addOrUpdate(::std::unique_ptr<::World::WorldJoinedRecord> pJoinedRecord);
57
58 MCAPI ::World::SessionTrackerOperationResult _processJoinedWorld(::ClientInstance& instance);
59
60 MCAPI ::Json::Value _serializeToJson() const;
61
62 MCAPI void initialize(::Bedrock::NotNullNonOwnerPtr<::Social::IUserManager> const& userManager);
63
64 MCAPI ::World::SessionTrackerOperationResult joinedLocal(::ILevel const* const level);
65
66 MCAPI ::World::SessionTrackerOperationResult
67 joinedNetworkGame(::Social::GameConnectionInfo const& gameConnectionInfo, ::ILevel const* const level);
68
69 MCAPI ::World::SessionTrackerOperationResult joinedRealm(::Realms::World* const realmWorld);
70 // NOLINTEND
71
72public:
73 // constructor thunks
74 // NOLINTBEGIN
75 MCAPI void* $ctor(::Core::PathBuffer<::std::string> const& tempDirectory);
76 // NOLINTEND
77
78public:
79 // destructor thunk
80 // NOLINTBEGIN
81 MCAPI void $dtor();
82 // NOLINTEND
83
84public:
85 // virtual function thunks
86 // NOLINTBEGIN
87 MCAPI ::EventResult $onClientEnteredWorld(::ClientInstance& instance);
88 // NOLINTEND
89
90public:
91 // vftables
92 // NOLINTBEGIN
93 MCNAPI static void** $vftable();
94 // NOLINTEND
95};
96
97} // namespace World
Definition ClientInstance.h:5
Definition ILevel.h:218
Definition Value.h:16
Definition GameConnectionInfo.h:21
Definition IUserManager.h:34
Definition WorldActivitySessionTracker.h:7
static MCAPI void ** $vftable()
Definition WorldJoinedRecord.h:7
Definition World.h:7