Files
wnmj/Classes/Games/13S/13S_OperateCardPanel.h

78 lines
2.1 KiB
C
Raw Normal View History

2026-02-13 14:34:15 +08:00
#ifndef _SSS_OperateCardPanel_H_
#define _SSS_OperateCardPanel_H_
#include "cocos2d.h"
#include "ui/CocosGUI.h"
#include "13S_BigCardSprite.h"
class SSSOperateCardPanel : public LayerColor
{
public:
//<2F><><EFBFBD><EFBFBD><ECBAAF>;
SSSOperateCardPanel();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
virtual ~SSSOperateCardPanel();
static SSSOperateCardPanel* create(Size csParentSize, const std::function<void(uint8*, uint8)>& fnCallback);
//<2F><>ʼ<EFBFBD><CABC>;
virtual bool init(Size csParentSize, const std::function<void(uint8*, uint8)>& fnCallback);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
virtual void onEnter();
//<2F><><EFBFBD>˳<EFBFBD>;
virtual void onExit();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ;
virtual bool onTouchBegan(Touch *pTouch, Event *pEvent);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
virtual void onTouchEnded(Touch *pTouch, Event *pEvent);
//<2F><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>;
virtual void onTouchMoved(Touch *pTouch, Event *pEvent);
//<2F><><EFBFBD><EFBFBD>ѡ<EFBFBD>ƻص<C6BB>;
void setChooseCardCallback(const std::function<void(uint8*, uint8)>& fnCallback) { _fnChooseCard = 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[SSS_MAX_COUNT], uint8 cbCardCount);
//<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
void shootCardIndex(uint8 cbCardIndex[SSS_MAX_COUNT], uint8 cbCardCount);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
void getShootCardData(uint8 aryOutCardData[SSS_MAX_COUNT], uint8 &cbOutCardCount, uint8 cbMaxOutCardCount);
//<2F><>ȡδ<C8A1><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
void getDownCardData(uint8 aryOutCardData[SSS_MAX_COUNT], uint8 &cbOutCardCount, uint8 cbMaxOutCardCount);
//<2F><>ʾ<EFBFBD><CABE>;
void showHandCard(uint8 cbCardData[SSS_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);
uint8 getHandCardData(uint8 cbCardData[SSS_MAX_COUNT], uint8 cbCardCount);
private:
//<2F><>ʼѡ<CABC><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
int _iBeginSelectIndex;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С;
Size _csParentSize;
//ѡ<>ƻص<C6BB><D8B5><EFBFBD><EFBFBD><EFBFBD>;
std::function<void(uint8*, uint8)> _fnChooseCard;
//<2F><><EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><CBBF><EFBFBD><EFBFBD><EFBFBD>;
std::vector<SSSBigCardSprite *> _vecHandCardArray;
};
#endif