Files
wnmj/Classes/Games/DDZ/DDZ_HandCardLayer.h

65 lines
1.7 KiB
C
Raw Permalink Normal View History

2026-02-13 14:34:15 +08:00
#ifndef __DDZ_HandCardLayer__
#define __DDZ_HandCardLayer__
#include "DDZ_BigCardSprite.h"
class DDZHandCardLayer : public LayerColor
{
public:
DDZHandCardLayer();
virtual ~DDZHandCardLayer();
static DDZHandCardLayer* create(Size csParentSize, const std::function<void(uint8*, uint8)>& fnCallback);
virtual bool init(Size csParentSize, const std::function<void(uint8*, uint8)>& fnCallback);
virtual void onEnter();
virtual void onExit();
virtual bool onTouchBegan(Touch *pTouch, Event *pEvent);
virtual void onTouchEnded(Touch *pTouch, Event *pEvent);
virtual void onTouchMoved(Touch *pTouch, Event *pEvent);
void setChooseCardCallback(const std::function<void(uint8*, uint8)>& fnCallback) { _fnDoUserChooseCard = fnCallback; }
public:
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
void initUIData();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void downAllCard();
//<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>
void shootCardData(uint8 cbCardData[DDZ_MAX_COUNT], uint8 cbCardCount);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void getShootCardData(uint8 cbCardData[DDZ_MAX_COUNT], uint8 &cbCardCount);
//<2F><><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>
void setLordMode(bool bLordMode) { _bLordMode = bLordMode; }
//<2F><><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD>
void addSendCard2Panel();
//<2F><>ʾ<EFBFBD><CABE>
void redrawHandCard(uint8 cbCardData[DDZ_MAX_COUNT], uint8 cbCardCount);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>Ƽ<EFBFBD><C6BC><EFBFBD>
uint16 getHandCardSpace(uint8 cbCardCount);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD>
uint16 getHandCardWidth(uint8 cbCardCount);
uint8 isInCardSpriteRect(Vec2 ptTouch);
void onSelectCardAction(int iEndSelectIndex);
bool isInSelectCardIndex(int iIndex, int iEndSelectIndex);
private:
int _iSentCardCount;
int _iBeginSelectIndex;
bool _bLordMode;
Size _csParentSize;
std::function<void(uint8*, uint8)> _fnDoUserChooseCard;
std::vector<DDZBigCardSprite *> _vecHandCardArray; //<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD>
};
#endif /* defined(__HandCardLayer__) */