78 lines
2.1 KiB
C++
78 lines
2.1 KiB
C++
#ifndef _SSS_OperateCardPanel_H_
|
|
#define _SSS_OperateCardPanel_H_
|
|
|
|
#include "cocos2d.h"
|
|
#include "ui/CocosGUI.h"
|
|
|
|
#include "13S_BigCardSprite.h"
|
|
|
|
class SSSOperateCardPanel : public LayerColor
|
|
{
|
|
public:
|
|
//构造函数;
|
|
SSSOperateCardPanel();
|
|
//析构函数;
|
|
virtual ~SSSOperateCardPanel();
|
|
|
|
static SSSOperateCardPanel* 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) { _fnChooseCard = fnCallback; }
|
|
|
|
public:
|
|
//初始数据;
|
|
void initUIData();
|
|
//所有牌落下;
|
|
void downAllCard();
|
|
//弹起指定牌;
|
|
void shootCardData(uint8 cbCardData[SSS_MAX_COUNT], uint8 cbCardCount);
|
|
//弹起指定索引;
|
|
void shootCardIndex(uint8 cbCardIndex[SSS_MAX_COUNT], uint8 cbCardCount);
|
|
//获取弹起的牌;
|
|
void getShootCardData(uint8 aryOutCardData[SSS_MAX_COUNT], uint8 &cbOutCardCount, uint8 cbMaxOutCardCount);
|
|
//获取未弹起的牌;
|
|
void getDownCardData(uint8 aryOutCardData[SSS_MAX_COUNT], uint8 &cbOutCardCount, uint8 cbMaxOutCardCount);
|
|
|
|
//显示牌;
|
|
void showHandCard(uint8 cbCardData[SSS_MAX_COUNT], uint8 cbCardCount);
|
|
|
|
//获取手牌间距;
|
|
uint16 getHandCardSpace(uint8 cbCardCount);
|
|
//获取手牌宽度;
|
|
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:
|
|
//开始选择索引;
|
|
int _iBeginSelectIndex;
|
|
|
|
//面板大小;
|
|
Size _csParentSize;
|
|
|
|
//选牌回调函数;
|
|
std::function<void(uint8*, uint8)> _fnChooseCard;
|
|
|
|
//手牌扑克数组;
|
|
std::vector<SSSBigCardSprite *> _vecHandCardArray;
|
|
};
|
|
|
|
#endif |