MCPcopy Create free account
hub / github.com/OGSR/OGSR-Engine / Update

Method Update

ogsr_engine/xrGame/ui/UIColorAnimatorWrapper.cpp:60–96  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

58//////////////////////////////////////////////////////////////////////////
59
60void CUIColorAnimatorWrapper::Update()
61{
62 if (colorAnimation && !isDone)
63 {
64 if (!isCyclic)
65 {
66 if (animationTime < (colorAnimation->iFrameCount / colorAnimation->fFPS))
67 {
68 currColor = colorAnimation->CalculateBGR(std::abs(animationTime - kRev), currFrame);
69 // Msg("name: %s, color: %x, frame: %d", *colorAnimation->cName,currColor, currFrame);
70 currColor = color_rgba(color_get_B(currColor), color_get_G(currColor), color_get_R(currColor), color_get_A(currColor));
71 // обновим время
72 animationTime += Device.dwTimeContinual / 1000.0f - prevGlobalTime;
73 }
74 else
75 {
76 // В любом случае (при любом ФПС) последним кадром должен быть последний кадр анимации
77 currColor = colorAnimation->CalculateBGR((colorAnimation->iFrameCount - 1) / colorAnimation->fFPS - kRev, currFrame);
78 currColor = color_rgba(color_get_B(currColor), color_get_G(currColor), color_get_R(currColor), color_get_A(currColor));
79 // Индицируем конец анимации
80 isDone = true;
81 }
82 }
83 else
84 {
85 currColor = colorAnimation->CalculateBGR(Device.dwTimeContinual / 1000.0f, currFrame);
86 currColor = color_rgba(color_get_B(currColor), color_get_G(currColor), color_get_R(currColor), color_get_A(currColor));
87 }
88
89 if (color)
90 {
91 *color = currColor;
92 }
93 }
94
95 prevGlobalTime = Device.dwTimeContinual / 1000.0f;
96}
97
98//////////////////////////////////////////////////////////////////////////
99

Callers

nothing calls this directly

Calls 6

color_rgbaFunction · 0.85
color_get_BFunction · 0.85
color_get_GFunction · 0.85
color_get_RFunction · 0.85
color_get_AFunction · 0.85
CalculateBGRMethod · 0.80

Tested by

no test coverage detected