Skip to content
LeviMC
English
AutoLightDark
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 Player;
13struct ActorUniqueID;
14struct INpcDialogueData;
15namespace Json { class Value; }
16// clang-format on
17
19public:
20 // NpcDialogScreenController inner types define
21 enum class InteractionState : schar {
22 None = 0,
23 Opened = 1,
24 Interacted = 2,
25 Closed = 3,
26 };
27
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 8, ::Player&> mPlayer;
32 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::INpcDialogueData>> mDialogueData;
33 ::ll::TypedStorage<1, 1, ::NpcDialogScreenController::InteractionState> mState;
34 // NOLINTEND
35
36public:
37 // prevent constructor by default
38 NpcDialogScreenController& operator=(NpcDialogScreenController const&);
39 NpcDialogScreenController(NpcDialogScreenController const&);
40 NpcDialogScreenController();
41
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 virtual ~NpcDialogScreenController() /*override*/ = default;
46
47 virtual void onCreation() /*override*/;
48
49 virtual void addStaticScreenVars(::Json::Value& globalVars) /*override*/;
50
51 virtual ::EventResult onNpcDialogueDataChange(::std::shared_ptr<::INpcDialogueData> data) /*override*/;
52
53 virtual ::EventResult onNpcInteractScreenClose(::ActorUniqueID npcId, bool performClosingActions) /*override*/;
54 // NOLINTEND
55
56public:
57 // member functions
58 // NOLINTBEGIN
59 MCNAPI void _leaveScreen(bool performClosingActions);
60 // NOLINTEND
61
62public:
63 // virtual function thunks
64 // NOLINTBEGIN
65 MCNAPI void $onCreation();
66
67 MCNAPI void $addStaticScreenVars(::Json::Value& globalVars);
68
69 MCNAPI ::EventResult $onNpcDialogueDataChange(::std::shared_ptr<::INpcDialogueData> data);
70
71 MCNAPI ::EventResult $onNpcInteractScreenClose(::ActorUniqueID npcId, bool performClosingActions);
72 // NOLINTEND
73};
Definition ClientInstanceScreenController.h:5
Definition Value.h:16
Definition NpcDialogScreenController.h:5
MCAPI void $addStaticScreenVars(::Json::Value &globalVars)
MCAPI void _leaveScreen(bool performClosingActions)
MCAPI::EventResult $onNpcInteractScreenClose(::ActorUniqueID npcId, bool performClosingActions)
MCAPI::EventResult $onNpcDialogueDataChange(::std::shared_ptr<::INpcDialogueData > data)
Definition NpcEventListener.h:5
Definition Player.h:131
Definition ActorUniqueID.h:5
Definition INpcDialogueData.h:12