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
12class PersonaPiece;
14struct IStoreCatalogItem;
15struct UIPropertyBag;
16namespace persona { struct 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
32 using ReactAnimationType = ::persona::ReactAnimationType;
33
34public:
35 // member variables
36 // NOLINTBEGIN
37 ::ll::TypedStorage<
38 8,
39 64,
40 ::std::unordered_map<
41 ::persona::ReactAnimationType,
42 ::std::vector<::PersonaAnimationModel::ReactAnimationData>,
43 ::PersonaAnimationModel::ReactAnimationTypeHash,
44 ::std::equal_to<::persona::ReactAnimationType>>>
45 mReactAnimations;
46 ::ll::TypedStorage<8, 8, ::IPersonaRepository const&> mPersonaRepo;
47 ::ll::TypedStorage<8, 32, ::std::string> mEmoteAnimationToPlay;
48 ::ll::TypedStorage<4, 4, ::persona::ReactAnimationType> mBoredAnimationType;
49 ::ll::TypedStorage<4, 4, ::persona::ReactAnimationType> mIdleAnimationType;
50 ::ll::TypedStorage<4, 4, ::persona::ReactAnimationType> mAnimationReactState;
51 ::ll::TypedStorage<4, 4, float> mStartingRotation;
52 ::ll::TypedStorage<4, 4, ::ui::DirtyFlag> mDirtyFlag;
53 ::ll::TypedStorage<4, 4, float> mNextBoredAnimationTime;
54 ::ll::TypedStorage<1, 1, bool> mAnimationUpdated;
55 // NOLINTEND
56
57public:
58 // prevent constructor by default
59 PersonaAnimationModel& operator=(PersonaAnimationModel const&);
60 PersonaAnimationModel(PersonaAnimationModel const&);
61 PersonaAnimationModel();
62
63public:
64 // member functions
65 // NOLINTBEGIN
66 MCAPI void _populateReactAnimations();
67
68 MCAPI void playEmote(::IStoreCatalogItem const& emoteCatalogOffer);
69
70 MCAPI void playEmote(::PersonaPiece const& emoteToPlay);
71
72 MCAPI void playReactAnimations(::persona::PieceType pieceType, bool offer);
73
74 MCAPI void tick(::ui::DirtyFlag& dirtyFlags);
75
76 MCAPI void updateAppearanceData(::persona::PieceOfferWrapper const& offer, bool isOwned);
77
78 MCAPI void updatePaperDollAnimation(::UIPropertyBag& bag);
79 // NOLINTEND
80};
Definition PersonaAnimationModel.h:5
Definition PersonaPiece.h:15
Definition IPersonaRepository.h:5
Definition PersonaAnimationModel.h:16
Definition PersonaAnimationModel.h:14
Definition UIPropertyBag.h:5
Definition PieceOfferWrapper.h:7