80 lines
1.6 KiB
C++
80 lines
1.6 KiB
C++
#ifndef _COUNTRY_ME_
|
|
|
|
#pragma once
|
|
|
|
#include "KPrimitiveSprite.h"
|
|
//#include "KUIControl.h"
|
|
|
|
class KUIControlEffectText : public KUIControl
|
|
{
|
|
public:
|
|
enum EFFECT_TYPE
|
|
{
|
|
EFFECT_BAD = 0,
|
|
EFFECT_GOOD,
|
|
TOTAL_EFFECT_COUNT,
|
|
};
|
|
public:
|
|
KUIControlEffectText();
|
|
~KUIControlEffectText();
|
|
|
|
virtual void Process(DWORD time);
|
|
virtual void OnPosChangeNofity(int XOffset, int YOffset);
|
|
virtual void OnAlphaChangeNotify(float fAlpha);
|
|
|
|
const KRect& GetRealRect() const
|
|
{
|
|
return m_realRect;
|
|
}
|
|
|
|
void AddDownOffset(int count);
|
|
void OnCollision();
|
|
|
|
void SetEffectInfo(LPCSTR name, KUIControlEffectText::EFFECT_TYPE type, bool scaleDown);
|
|
|
|
int GetState() { return m_state; }
|
|
int GetCollisionState() { return m_collisionState;}
|
|
|
|
private:
|
|
void _ChangeCurAlpha(float fAlpha);
|
|
void _CalDownOffset(DWORD csTimeDiff);
|
|
|
|
private:
|
|
int m_state;
|
|
int m_collisionState;
|
|
int m_downOffest;
|
|
int m_remainDownOffest;
|
|
|
|
DWORD m_curTime;
|
|
DWORD m_effectStartTime;
|
|
DWORD m_collisionEffectStartTime;
|
|
KRect m_realRect;
|
|
|
|
KSpritePrimitive m_Back;
|
|
KSpritePrimitive m_BackLine;
|
|
|
|
bool m_scaleDown;
|
|
|
|
float m_curPrimitiveAlpha;
|
|
float m_curCaptionAlpha;
|
|
DWORD m_captionWidth;
|
|
DWORD m_backWidth;
|
|
|
|
};
|
|
|
|
|
|
class KUIControlEffectTextGroup : public KUIControl
|
|
{
|
|
public:
|
|
virtual void Process(DWORD dwTime);
|
|
#ifdef _KUI_INVALIDATION
|
|
KUIControl* AddEffectControl(KUIWnd* pParent, LPCSTR name, KUIControlEffectText::EFFECT_TYPE type, bool scaleDown = false);
|
|
#else
|
|
void AddEffectControl(LPCSTR name, KUIControlEffectText::EFFECT_TYPE type, bool scaleDown = false);
|
|
#endif
|
|
};
|
|
|
|
#else
|
|
#include "../Localization/MiddleEast/KUIControlEffectText_ME.h"
|
|
#endif
|