Etterna 0.74.4
Loading...
Searching...
No Matches
StreamDisplay.h
1/* StreamDisplay - */
2#ifndef StreamDisplay_H
3#define StreamDisplay_H
4
5#include "Etterna/Actor/Base/ActorFrame.h"
6#include "Etterna/Models/Lua/LuaExpressionTransform.h"
7#include "Etterna/Actor/Base/Quad.h"
8#include "Etterna/Actor/Base/Sprite.h"
9#include "Etterna/Models/Misc/ThemeMetric.h"
10
11enum StreamType
12{
13 StreamType_Normal,
14 StreamType_Passing,
15 StreamType_Hot,
16 NUM_StreamType,
17};
18
20{
21 public:
23
24 void Update(float fDeltaSecs) override;
25
26 void Load(const std::string& sMetricsGroup);
27
28 void SetPercent(float fPercent);
29 void SetPassingAlpha(float fPassingAlpha)
30 {
31 m_fPassingAlpha = fPassingAlpha;
32 }
33 void SetHotAlpha(float fHotAlpha) { m_fHotAlpha = fHotAlpha; }
34
35 float GetPercent() { return m_fPercent; }
36
37 private:
38 std::vector<Sprite*> m_vpSprPill[NUM_StreamType];
39
41 m_transformPill; // params: self,offsetFromCenter,itemIndex,numItems
42 ThemeMetric<float> VELOCITY_MULTIPLIER;
43 ThemeMetric<float> VELOCITY_MIN;
44 ThemeMetric<float> VELOCITY_MAX;
45 ThemeMetric<float> SPRING_MULTIPLIER;
46 ThemeMetric<float> VISCOSITY_MULTIPLIER;
47
48 float m_fPercent; // percent filled
49 float
50 m_fTrailingPercent; // this approaches m_fPercent, use this value to draw
51 float m_fVelocity; // velocity of m_fTrailingPercent
52
53 float m_fPassingAlpha;
54 float m_fHotAlpha;
55
56 bool m_bAlwaysBounce;
57};
58
59#endif
A container for other Actors.
Definition ActorFrame.h:8
Handle transforming a list of items.
Definition LuaExpressionTransform.h:16
Definition StreamDisplay.h:20
The theme specific data.
Definition ThemeMetric.h:52