Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
ClientSkinSystem.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7
8// auto generated forward declare list
9// clang-format off
13class ClientLevel;
14class ExpressionNode;
16class HashedString;
17class IClientInstance;
18class Player;
23class WeakEntityRef;
24struct ClientSkin;
25namespace mce { struct Image; }
26// clang-format on
27
28class ClientSkinSystem {
29public:
30 // ClientSkinSystem inner types define
31 using RenderControllerList = ::std::vector<::std::pair<::RenderControllerPtr, ::ExpressionNode>>;
32
33public:
34 // static functions
35 // NOLINTBEGIN
36 MCAPI static void _setupPersonaLodRenderControllers(
37 bool lodReady,
38 ::std::shared_ptr<::ActorResourceDefinition> const& resourceDef,
39 ::Bedrock::NotNullNonOwnerPtr<::RenderControllerGroup> const& renderControllerGroup
40 );
41
42 MCAPI static bool _setupPersonaLodTextureAndGeometry(
43 ::ClientSkin const& skin,
44 ::SerializedSkinRef const& serializedSkin,
45 ::std::shared_ptr<::ActorResourceDefinition> const& resourceDef,
46 ::Bedrock::NotNullNonOwnerPtr<::ActorResourceDefinitionGroup> const& resourceDefinitions
47 );
48
49 MCAPI static void _updateClientSkin(
50 ::IClientInstance& client,
51 ::Bedrock::NotNullNonOwnerPtr<::ResourceLoadManager> resourceLoadManager,
52 ::ClientSkin& clientSkin,
53 ::SerializedSkinRef const& skin,
54 ::mce::Image const* image,
55 ::mce::Image const* capeImage,
56 bool isAsync,
57 ::std::function<void()> geoFinishedCallback
58 );
59
60 MCAPI static void addPlayerToFireEvent(::HashedString identifier, ::Player const* player);
61
62 MCAPI static void applySkinToPlayer(::IClientInstance& client, ::Player& player, ::SerializedSkinRef const& skin);
63
64 MCAPI static void createOrUpdate(
65 ::IClientInstance& client,
66 ::AnimationComponent& animationComponent,
67 ::SerializedSkinRef const& skin,
68 ::mce::Image const* image,
69 ::mce::Image const* capeImage,
70 bool isAsync,
71 ::std::function<void()> geoFinishedCallback
72 );
73
74 MCAPI static bool doesRenderControllerListHaveRenderer(
75 ::std::vector<::std::pair<::RenderControllerPtr, ::ExpressionNode>> const& renderControllerList,
76 ::HashedString renderControllerName
77 );
78
79 MCAPI static void fireEventToPlayers(::HashedString const identifier, ::ClientLevel* level);
80
81 MCAPI static void frameUpdate(::FrameUpdateContext& frameUpdateContext, ::IClientInstance& client);
82
83 MCAPI static bool isAnySkinOfNameInitialized(::IClientInstance& client, ::std::string_view skinName);
84
85 MCAPI static void reload(::IClientInstance& client);
86
87 MCAPI static void remove(::IClientInstance& client, ::std::string const& skinName);
88
89 MCAPI static void shutdown(::IClientInstance& client);
90
91 MCAPI static void tick(::IClientInstance& client);
92 // NOLINTEND
93
94public:
95 // static variables
96 // NOLINTBEGIN
97 MCAPI static ::std::map<::HashedString, ::std::vector<::WeakEntityRef>>& mSkinIdToPlayersMap();
98
99 MCAPI static int& sPersonaSkinLodDistance();
100 // NOLINTEND
101};
Definition ActorResourceDefinitionGroup.h:5
Definition ActorResourceDefinition.h:5
Definition AnimationComponent.h:38
Definition ClientLevel.h:5
Definition ClientSkinSystem.h:5
Definition ExpressionNode.h:35
Definition FrameUpdateContext.h:5
Definition HashedString.h:5
Definition IClientInstance.h:5
Definition Player.h:131
Definition RenderControllerGroup.h:5
Definition RenderControllerPtr.h:5
Definition ResourceLoadManager.h:22
Definition SerializedSkinRef.h:26
Definition WeakEntityRef.h:14
Definition ClientSkin.h:5
Definition Image.h:13