My Project
CustomCharFace.h
1 #pragma once
2 
3 namespace ParaEngine
4 {
10  {
11  private:
13  WORD data[2];
15  byte SRT[4];
16  public:
18  FaceComponent();
19 
21  void reset();
22 
24  int GetStyle() const;
25 
27  void SetStyle(int style);
28 
30  DWORD GetColor()const;
31 
33  void SetColor(DWORD color);
34 
36  float GetScaling()const;
37 
39  void SetScaling(float scaling);
40 
42  float GetRotation()const;
43 
45  void SetRotation(float fRotation);
46 
51  void SetPosition(int* x, int* y);
52 
57  void GetPosition(int* x, int* y)const;
58  };
59 
61  {
62  public:
64  FaceTextureComponent(const FaceComponent& component) :FaceComponent(component){}
65 
67  bool CheckLoad();
68  public:
69  std::string name;
70  ref_ptr<TextureEntity> m_texture;
71 
72  };
73 
76  {
77  public:
78  CartoonFace();
79  CartoonFace(FaceComponent* _components);
80  public:
81  FaceComponent components[CFS_TOTAL_NUM];
82 
83  bool m_bNeedUpdate;
84 
86  void SetModified(bool bModified = true);;
87 
89  void Reset();
90 
94  std::string makeComponentTexture(int region, const char *name);
95 
99  void compose(asset_ptr<TextureEntity>& tex, CharModelInstance* pCharInst);
100 
104  FaceComponent& GetComponent(int index){ return components[index]; };
105 
107  const string& GetCacheFileName();
108 
109  void GetFaceComponents(std::vector <FaceTextureComponent>& layers);
110  private:
111  string m_sCachedFileName;
112  bool m_bNeedUpdateCache;
113  };
114 }
void SetColor(DWORD color)
set color
Definition: CustomCharFace.cpp:218
different physics engine has different winding order.
Definition: EventBinding.h:32
character animation instance: it includes both the animation and model display information.
Definition: CustomCharModelInstance.h:17
int GetStyle() const
Get style.
Definition: CustomCharFace.cpp:223
data structure for a cartoon face
Definition: CustomCharFace.h:75
DWORD GetColor() const
get color
Definition: CustomCharFace.cpp:212
a CartoonFace slot component data in compact format.
Definition: CustomCharFace.h:9
void SetPosition(int *x, int *y)
position in pixel
Definition: CustomCharFace.cpp:196
The ref_ptr class template stores a pointer to a dynamically allocated (AssetEntity|CRefCounted|BaseA...
Definition: PERefPtr.h:13
void SetRotation(float fRotation)
Rotation (-3.14,3.14].
Definition: CustomCharFace.cpp:190
FaceComponent()
initialize to full color, 0 type, 0 scale, 0 rotation, 0 position.
Definition: CustomCharFace.cpp:155
void reset()
initialize to full color, 0 type, 0 scale, 0 rotation, 0 position.
Definition: CustomCharFace.cpp:160
void SetScaling(float scaling)
scaling [-1,1]
Definition: CustomCharFace.cpp:177
float GetRotation() const
Rotation (-3.14,3.14].
Definition: CustomCharFace.cpp:183
void GetPosition(int *x, int *y) const
position in pixel
Definition: CustomCharFace.cpp:204
Definition: CustomCharFace.h:60
void SetStyle(int style)
set style
Definition: CustomCharFace.cpp:228
FaceComponent & GetComponent(int index)
get a given face component
Definition: CustomCharFace.h:104
float GetScaling() const
scaling [-1,1]
Definition: CustomCharFace.cpp:171