blob: 5ed9e7f9b6ba3258d57f656d587237836f91fc96 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#ifndef SHURIKENMODULEUV_H
#define SHURIKENMODULEUV_H
#include "ParticleSystemModule.h"
#include "Runtime/Graphics/ParticleSystem/PolynomialCurve.h"
struct ParticleSystemParticles;
class UVModule : public ParticleSystemModule
{
public:
DECLARE_MODULE (UVModule)
UVModule ();
void Update (const ParticleSystemParticles& ps, float* tempSheetIndex, size_t fromIndex, size_t toIndex);
void CheckConsistency ();
inline MinMaxCurve& GetCurve() { return m_Curve; }
void GetNumTiles(int& uvTilesX, int& uvTilesY) const;
template<class TransferFunction>
void Transfer (TransferFunction& transfer);
private:
enum { kWholeSheet, kSingleRow, kNumAnimationTypes };
MinMaxCurve m_Curve;
int m_TilesX, m_TilesY;
int m_AnimationType;
int m_RowIndex;
float m_Cycles;
bool m_RandomRow;
};
#endif // SHURIKENMODULEUV_H
|