LeviLamina
Loading...
Searching...
No Matches
ContainerInteractionStateMachine.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/ViewRequest.h"
7#include "mc/client/gui/screens/ButtonEventType.h"
8#include "mc/client/gui/screens/Node.h"
9#include "mc/client/gui/screens/NodeId.h"
10
11// auto generated forward declare list
12// clang-format off
13struct ButtonEdge;
14struct PointerHeldEdge;
16// clang-format on
17
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<8, 128, ::Node> mCurrentNode;
23 ::ll::TypedStorage<4, 4, ::NodeId> mCurrentNodeId;
24 ::ll::TypedStorage<4, 4, ::NodeId> mDefaultNodeId;
25 ::ll::TypedStorage<8, 64, ::std::unordered_map<int, ::Node>> mNodes;
26 ::ll::TypedStorage<8, 64, ::std::unordered_map<int, ::std::vector<::ButtonEdge>>> mButtonEdges;
27 ::ll::TypedStorage<8, 64, ::std::unordered_map<int, ::std::vector<::PointerHeldEdge>>> mPointerHeldEdges;
28 ::ll::TypedStorage<4, 4, ::NodeId> mNodeChangeRequest;
29 // NOLINTEND
30
31public:
32 // member functions
33 // NOLINTBEGIN
34 MCAPI ContainerInteractionStateMachine();
35
36 MCAPI ::ui::ViewRequest
37 _changeState(::NodeId target, uint buttonId, ::std::string const& collectionName, int collectionIndex);
38
39 MCAPI void addEdge(
40 ::NodeId source,
41 ::NodeId target,
42 ::std::function<bool(uint, ::ButtonEventType, ::std::string const&, int)> requirement,
43 int priority
44 );
45
46 MCAPI void addEdge(
47 ::NodeId source,
48 ::NodeId target,
49 ::std::function<bool(::PointerHeldScreenEventData const&, ::std::string const&, int)> requirement,
50 int priority
51 );
52
53 MCAPI void addNode(
54 ::NodeId id,
55 ::std::function<::ui::ViewRequest(uint, ::std::string const&, int)> onEnter,
56 ::std::function<::ui::ViewRequest(uint, ::std::string const&, int)> onExit,
57 bool defaultNode
58 );
59
60 MCAPI ::ui::ViewRequest receiveEvent(
61 ::PointerHeldScreenEventData const& pointerHeldEvent,
62 ::std::string const& collectionName,
63 int collectionIndex
64 );
65
66 MCAPI ::ui::ViewRequest
67 receiveEvent(uint buttonId, ::ButtonEventType buttonType, ::std::string const& collectionName, int collectionIndex);
68
69 MCAPI ~ContainerInteractionStateMachine();
70 // NOLINTEND
71
72public:
73 // constructor thunks
74 // NOLINTBEGIN
75 MCAPI void* $ctor();
76 // NOLINTEND
77
78public:
79 // destructor thunk
80 // NOLINTBEGIN
81 MCAPI void $dtor();
82 // NOLINTEND
83};
Definition ContainerInteractionStateMachine.h:5
Definition ButtonEdge.h:5
Definition PointerHeldEdge.h:5
Definition PointerHeldScreenEventData.h:5