ChatPlexSDK-BS 1.0.1-v6.2.0
C++ ChatPlex BeatSaber SDK
Loading...
Searching...
No Matches
AnimationControllerInstance.hpp
1#pragma once
2
3#include "../Utils/Il2cpp.hpp"
4#include "../Utils/MonoPtr.hpp"
5
6#include <UnityEngine/Rect.hpp>
7#include <UnityEngine/Sprite.hpp>
8#include <UnityEngine/Texture2D.hpp>
9#include <UnityEngine/UI/Image.hpp>
10
11#include <memory>
12#include <vector>
13#include <stdint.h>
14
16
17 namespace _u
18 {
19 using namespace UnityEngine;
20 using namespace UnityEngine::UI;
21 }
22 namespace _v
23 {
24 using namespace CP_SDK::Utils;
25 }
26
29 {
30 CP_SDK_NO_COPYMOVE_CTORS(AnimationControllerInstance);
31 CP_SDK_PRIV_TAG();
32
33 public:
34 using Ptr = std::shared_ptr<AnimationControllerInstance>;
35
36 private:
37 bool m_IsDelayConsistent;
38 int64_t m_LastFrameChange;
39 std::vector<_v::MonoPtr<_u::Image>> m_ActiveImages;
40 int m_ActiveCount;
41 std::vector<_u::Rect> m_UVs;
42
43 public:
44 _v::MonoPtr<_u::Sprite> FirstFrame;
45 std::vector<_v::MonoPtr<_u::Sprite>> Frames;
46 std::vector<uint16_t> Delays;
47 uint32_t CurrentFrameIndex;
48
49 public:
54 AnimationControllerInstance(CP_SDK_PRIV_TAG_ARG(), _v::CMonoPtrRef<_u::Texture2D> p_Texture, const std::vector<_u::Rect>& p_UVs, const std::vector<uint16_t>& p_Delays);
57
58 public:
63 static Ptr Make(_v::CMonoPtrRef<_u::Texture2D> p_Texture, const std::vector<_u::Rect>& p_UVs, const std::vector<uint16_t>& p_Delays);
64
65 public:
68 void Register(_u::Image* p_TargetImage);
71 void Unregister(_u::Image* p_TargetImage);
72
73 public:
76 void CheckForNextFrame(int64_t p_Now);
77
78 };
79
80}
void Register(_u::Image *p_TargetImage)
Register an image.
AnimationControllerInstance(CP_SDK_PRIV_TAG_ARG(), _v::CMonoPtrRef< _u::Texture2D > p_Texture, const std::vector< _u::Rect > &p_UVs, const std::vector< uint16_t > &p_Delays)
Constructor.
void Unregister(_u::Image *p_TargetImage)
Unregister an image.
void CheckForNextFrame(int64_t p_Now)
Check if we should move to the next frame.
static Ptr Make(_v::CMonoPtrRef< _u::Texture2D > p_Texture, const std::vector< _u::Rect > &p_UVs, const std::vector< uint16_t > &p_Delays)
Constructor.
Animated image loading and processing.
Various platform utils like Delegate/Action/Function/Event system.
Definition Delegate.hpp:8