44 foreach($clientData->AnimatedImageData as $k => $animation){
47 $animation->ImageHeight,
48 $animation->ImageWidth,
49 self::safeB64Decode($animation->Image,
"AnimatedImageData.$k.Image")
53 $animation->AnimationExpression
58 $clientData->PlayFabId,
59 self::safeB64Decode($clientData->SkinResourcePatch,
"SkinResourcePatch"),
60 new SkinImage($clientData->SkinImageHeight, $clientData->SkinImageWidth, self::safeB64Decode($clientData->SkinData,
"SkinData")),
62 new SkinImage($clientData->CapeImageHeight, $clientData->CapeImageWidth, self::safeB64Decode($clientData->CapeData,
"CapeData")),
63 self::safeB64Decode($clientData->SkinGeometryData,
"SkinGeometryData"),
64 self::safeB64Decode($clientData->SkinGeometryDataEngineVersion,
"SkinGeometryDataEngineVersion"),
65 self::safeB64Decode($clientData->SkinAnimationData,
"SkinAnimationData"),
69 $clientData->SkinColor,
71 return new PersonaSkinPiece($piece->PieceId, $piece->PieceType, $piece->PackId, $piece->IsDefault, $piece->ProductId);
72 }, $clientData->PersonaPieces),
73 array_map(
function(ClientDataPersonaPieceTintColor $tint) : PersonaPieceTintColor{
74 return new PersonaPieceTintColor($tint->PieceType, $tint->Colors);
75 }, $clientData->PieceTintColors),
77 $clientData->PremiumSkin,
78 $clientData->PersonaSkin,
79 $clientData->CapeOnClassicSkin,
81 $clientData->OverrideSkin ??
true,