ChatPlexSDK-BS 1.0.1-v6.2.0
C++ ChatPlex BeatSaber SDK
Loading...
Searching...
No Matches
AnimationLoader.hpp
1#pragma once
2
3#include "AnimationInfo.hpp"
4#include "../Utils/Delegate.hpp"
5#include "../Utils/MonoPtr.hpp"
6
7#include <custom-types/shared/coroutine.hpp>
8#include <UnityEngine/Rect.hpp>
9#include <UnityEngine/Sprite.hpp>
10#include <UnityEngine/Texture2D.hpp>
11
12namespace CP_SDK::Animation {
13
14 namespace _u
15 {
16 using namespace UnityEngine;
17 }
18 namespace _v
19 {
20 using namespace CP_SDK::Utils;
21 }
22
24 enum class EAnimationType
25 {
26 NONE,
27 GIF,
28 APNG,
29 WEBP,
30 AUTODETECT
31 };
32
35 {
36 CP_SDK_NO_DEF_CTORS(AnimationLoader);
37
38 public:
39 using t_AnimatedCallback = _v::Action<_v::CMonoPtrRef<_u::Texture2D>, const std::vector<_u::Rect>&, const std::vector<uint16_t>&, int, int>;
41
42 public:
48 static void Load(EAnimationType p_Type, _v::CMonoPtrRef<::Array<uint8_t>> p_Data, const t_AnimatedCallback& p_Callback, const t_StaticCallback& p_StaticCallback);
49
50 private:
54 static custom_types::Helpers::Coroutine Coroutine_ProcessLoadedAnimation(AnimationInfo::Ptr p_AnimationInfo, t_AnimatedCallback p_Callback);
55
56 private:
59 static int GetMaxAtlasTextureSize(AnimationInfo::Ptr& p_AnimationInfo);
60
61 };
62
63}
static void Load(EAnimationType p_Type, _v::CMonoPtrRef<::Array< uint8_t > > p_Data, const t_AnimatedCallback &p_Callback, const t_StaticCallback &p_StaticCallback)
Load animation.
Animated image loading and processing.
EAnimationType
Animation type.
Various platform utils like Delegate/Action/Function/Event system.
Definition Delegate.hpp:8