LeviLamina
Loading...
Searching...
No Matches
PersonaAnimationModel.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/world/actor/player/persona/PieceType.h"
8#include "mc/world/actor/player/persona/ReactAnimationType.h"
9
10// auto generated forward declare list
11// clang-format off
13class IStoreCatalogItem;
14class PersonaPiece;
15class UIPropertyBag;
16namespace persona { class PieceOfferWrapper; }
17// clang-format on
18
20public:
21 // PersonaAnimationModel inner types declare
22 // clang-format off
24 struct ReactAnimationData;
25 // clang-format on
26
27 // PersonaAnimationModel inner types define
28 struct ReactAnimationTypeHash {};
29
30 struct ReactAnimationData {
31 public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 32, ::std::string> animationName;
35 ::ll::TypedStorage<8, 32, ::std::string> soundEventName;
36 // NOLINTEND
37
38 public:
39 // prevent constructor by default
40 ReactAnimationData& operator=(ReactAnimationData const&);
41 ReactAnimationData(ReactAnimationData const&);
42 ReactAnimationData();
43
44 public:
45 // member functions
46 // NOLINTBEGIN
47 MCAPI ReactAnimationData(::PersonaAnimationModel::ReactAnimationData&&);
48
49 MCAPI ~ReactAnimationData();
50 // NOLINTEND
51
52 public:
53 // constructor thunks
54 // NOLINTBEGIN
55 MCFOLD void* $ctor(::PersonaAnimationModel::ReactAnimationData&&);
56 // NOLINTEND
57
58 public:
59 // destructor thunk
60 // NOLINTBEGIN
61 MCFOLD void $dtor();
62 // NOLINTEND
63 };
64
65 using ReactAnimationType = ::persona::ReactAnimationType;
66
67public:
68 // member variables
69 // NOLINTBEGIN
70 ::ll::TypedStorage<
71 8,
72 64,
73 ::std::unordered_map<
74 ::persona::ReactAnimationType,
75 ::std::vector<::PersonaAnimationModel::ReactAnimationData>,
76 ::PersonaAnimationModel::ReactAnimationTypeHash,
77 ::std::equal_to<::persona::ReactAnimationType>>>
78 mReactAnimations;
79 ::ll::TypedStorage<8, 8, ::IPersonaRepository const&> mPersonaRepo;
80 ::ll::TypedStorage<8, 32, ::std::string> mEmoteAnimationToPlay;
81 ::ll::TypedStorage<4, 4, ::persona::ReactAnimationType> mBoredAnimationType;
82 ::ll::TypedStorage<4, 4, ::persona::ReactAnimationType> mIdleAnimationType;
83 ::ll::TypedStorage<4, 4, ::persona::ReactAnimationType> mAnimationReactState;
84 ::ll::TypedStorage<4, 4, float> mStartingRotation;
85 ::ll::TypedStorage<4, 4, ::ui::DirtyFlag> mDirtyFlag;
86 ::ll::TypedStorage<4, 4, float> mNextBoredAnimationTime;
87 ::ll::TypedStorage<1, 1, bool> mAnimationUpdated;
88 // NOLINTEND
89
90public:
91 // prevent constructor by default
92 PersonaAnimationModel& operator=(PersonaAnimationModel const&);
93 PersonaAnimationModel(PersonaAnimationModel const&);
94 PersonaAnimationModel();
95
96public:
97 // member functions
98 // NOLINTBEGIN
99 MCAPI void _populateReactAnimations();
100
101 MCAPI void playEmote(::IStoreCatalogItem const& emoteCatalogOffer);
102
103 MCAPI void playEmote(::PersonaPiece const& emoteToPlay);
104
105 MCAPI void playReactAnimations(::persona::PieceType pieceType, bool offer);
106
107 MCAPI void tick(::ui::DirtyFlag& dirtyFlags);
108
109 MCAPI void updateAppearanceData(::persona::PieceOfferWrapper const& offer, bool isOwned);
110
111 MCAPI void updatePaperDollAnimation(::UIPropertyBag& bag);
112 // NOLINTEND
113};
Definition IPersonaRepository.h:5
Definition PersonaAnimationModel.h:5
Definition PersonaPiece.h:15
Definition UIPropertyBag.h:5
Definition PieceOfferWrapper.h:7
Definition PersonaAnimationModel.h:16
Definition PersonaAnimationModel.h:14