LeviLamina
Loading...
Searching...
No Matches
NpcDialogScreenController.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/screens/controllers/ClientInstanceScreenController.h"
7#include "mc/world/events/EventResult.h"
8#include "mc/world/events/NpcEventListener.h"
9
10// auto generated forward declare list
11// clang-format off
12class Actor;
14class Player;
15struct ActorUniqueID;
16struct INpcDialogueData;
17namespace Json { class Value; }
18namespace npc { struct CommandAction; }
19namespace npc { struct UrlAction; }
20// clang-format on
21
23public:
24 // NpcDialogScreenController inner types define
25 enum class InteractionState : schar {};
26
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 8, ::Player&> mPlayer;
31 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::INpcDialogueData>> mDialogueData;
32 ::ll::TypedStorage<1, 1, ::NpcDialogScreenController::InteractionState> mState;
33 // NOLINTEND
34
35public:
36 // prevent constructor by default
37 NpcDialogScreenController& operator=(NpcDialogScreenController const&);
38 NpcDialogScreenController(NpcDialogScreenController const&);
39 NpcDialogScreenController();
40
41public:
42 // virtual functions
43 // NOLINTBEGIN
44 virtual ~NpcDialogScreenController() /*override*/ = default;
45
46 virtual void onCreation() /*override*/;
47
48 virtual void addStaticScreenVars(::Json::Value& globalVars) /*override*/;
49
50 virtual ::EventResult onNpcDialogueDataChange(::std::shared_ptr<::INpcDialogueData> data) /*override*/;
51
52 virtual ::EventResult onNpcInteractScreenClose(::ActorUniqueID npcId, bool performClosingActions) /*override*/;
53 // NOLINTEND
54
55public:
56 // member functions
57 // NOLINTBEGIN
58 MCAPI NpcDialogScreenController(
59 ::std::shared_ptr<::ClientInstanceScreenModel> model,
60 ::Player& player,
61 ::std::shared_ptr<::INpcDialogueData> dialogueData
62 );
63
64 MCAPI ::Actor* _getActor() const;
65
66 MCAPI void _leaveScreen(bool performClosingActions);
67
68 MCAPI void _openUrl(::std::string const& url);
69
70 MCAPI void _performAction(::std::variant<::npc::CommandAction, ::npc::UrlAction> const* action, int index);
71
72 MCAPI void _registerBindings();
73
74 MCAPI void _registerEventHandlers();
75
76 MCAPI void _runCloseActions();
77
78 MCAPI void _runOpenActions();
79 // NOLINTEND
80
81public:
82 // constructor thunks
83 // NOLINTBEGIN
84 MCAPI void* $ctor(
85 ::std::shared_ptr<::ClientInstanceScreenModel> model,
86 ::Player& player,
87 ::std::shared_ptr<::INpcDialogueData> dialogueData
88 );
89 // NOLINTEND
90
91public:
92 // virtual function thunks
93 // NOLINTBEGIN
94 MCAPI void $onCreation();
95
96 MCFOLD void $addStaticScreenVars(::Json::Value& globalVars);
97
98 MCAPI ::EventResult $onNpcDialogueDataChange(::std::shared_ptr<::INpcDialogueData> data);
99
100 MCAPI ::EventResult $onNpcInteractScreenClose(::ActorUniqueID npcId, bool performClosingActions);
101 // NOLINTEND
102
103public:
104 // vftables
105 // NOLINTBEGIN
106 MCNAPI static void** $vftable();
107
108 MCNAPI static void** $vftableForScreenController();
109
111 // NOLINTEND
112};
Definition Actor.h:105
Definition ClientInstanceScreenController.h:5
Definition ClientInstanceScreenModel.h:5
Definition Value.h:16
Definition NpcDialogScreenController.h:5
static MCAPI void ** $vftable()
static MCAPI void ** $vftableForScreenController()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
Definition NpcEventListener.h:14
Definition Player.h:125
Definition ActorUniqueID.h:5
Definition INpcDialogueData.h:12
Definition CommandAction.h:17
Definition UrlAction.h:11