120 lines
4.6 KiB
C
120 lines
4.6 KiB
C
|
|
#pragma once
|
|||
|
|
#include "cocos2d.h"
|
|||
|
|
#include "ui/CocosGUI.h"
|
|||
|
|
|
|||
|
|
#include "WN_CMD_Sparrow.h"
|
|||
|
|
#include "WN_WeaveCard.h"
|
|||
|
|
#include "WN_GameLogic.h"
|
|||
|
|
#include "WN_CNotifyDlg.h"
|
|||
|
|
#include "WN_SparrowCard.h"
|
|||
|
|
|
|||
|
|
USING_NS_CC;
|
|||
|
|
using namespace ui;
|
|||
|
|
using namespace std;
|
|||
|
|
|
|||
|
|
namespace WNMJ_SPACE{
|
|||
|
|
|
|||
|
|
//////////////////////////////////////////////////////////////////////////
|
|||
|
|
//<2F>齫<EFBFBD><E9BDAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
class WN_CardManager : public cocos2d::Layer
|
|||
|
|
{
|
|||
|
|
// <20>û<EFBFBD><C3BB><EFBFBD>Ϣ
|
|||
|
|
public:
|
|||
|
|
WORD m_wCurrentUser; // <20><>ǰ<EFBFBD>û<EFBFBD>
|
|||
|
|
bool m_IsGameRecord; // <20>Ƿ<EFBFBD><C7B7><EFBFBD>¼<EFBFBD><C2BC>ģʽ;
|
|||
|
|
bool m_bOutCardStatus; // <20>Ƿ<EFBFBD><C7B7>ǿɳ<C7BF><C9B3><EFBFBD>״̬;
|
|||
|
|
WORD m_wRealChairCount; // <20><>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӻű<D3BA><C5B1><EFBFBD>)
|
|||
|
|
public:
|
|||
|
|
Point m_ptStartCard[GAME_PLAYER]; // ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
Point m_ptOutCard[GAME_PLAYER]; // ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>һ<EFBFBD>ų<EFBFBD><C5B3><EFBFBD>
|
|||
|
|
Point m_ptCurrentCard[GAME_PLAYER]; // ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|||
|
|
Point m_ptWeaveCard[GAME_PLAYER]; // ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
Point m_ptKingCard[2]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
///<<3C>齫<EFBFBD>б<EFBFBD>(<28>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӻű<D3BA><C5B1><EFBFBD>)
|
|||
|
|
public:
|
|||
|
|
WN_SparrowCard* m_pLastHandCard[GAME_PLAYER]; // <20><>ʮ<EFBFBD><CAAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
std::list<WN_SparrowCard*> m_OppHandCardList; // <20>Լ<EFBFBD>
|
|||
|
|
std::list<WN_SparrowCard*> m_RightHandCardList; // <20><><EFBFBD>ֱ<EFBFBD>
|
|||
|
|
std::list<WN_SparrowCard*> m_SelfHandCardList; // <20>Լ<EFBFBD>
|
|||
|
|
std::list<WN_SparrowCard*> m_LeftHandCardList; // <20><><EFBFBD>ֱ<EFBFBD>
|
|||
|
|
|
|||
|
|
std::list<WN_SparrowCard*> m_pOutCardSprite; // ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD>
|
|||
|
|
|
|||
|
|
WN_WeaveCard* m_pWeaveCard[GAME_PLAYER][MAX_WEAVE]; // ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WN_SparrowCard* m_pCurrentOutCard; // <20><>ǰ<EFBFBD><C7B0><EFBFBD>Ҵ<EFBFBD><D2B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
WN_SparrowCard* m_pKingCardSprite[2]; // <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|||
|
|
|
|||
|
|
uint8 m_cbHandCardCount[GAME_PLAYER]; // ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 m_cbOutCarCount[GAME_PLAYER]; // ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
uint8 m_cbWeaveCount[GAME_PLAYER]; // ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
bool m_bActiveStatus[GAME_PLAYER]; //<2F><><EFBFBD><EFBFBD>״̬;
|
|||
|
|
|
|||
|
|
WN_NotifyDlg* m_pNoticelayer; // <20><EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
// //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
//public:
|
|||
|
|
// CMD_S_OperateNotify m_OperateNotify; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
|
|||
|
|
///<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
WN_CardManager();
|
|||
|
|
~WN_CardManager();
|
|||
|
|
|
|||
|
|
CREATE_FUNC(WN_CardManager);
|
|||
|
|
virtual bool init(); // <20><>ʼ<EFBFBD><CABC>
|
|||
|
|
void ResetAll(); // <20><><EFBFBD><EFBFBD>
|
|||
|
|
void SetCurrentUser(WORD wChairID); // <20><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|||
|
|
void SetGameRecord(bool isGameRecord); // <20><><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>ģʽ;
|
|||
|
|
void SetActiveStatus(bool bActiveStatus[], WORD wArrViewChairID[], WORD wRealChairCount);
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
float SetAllCard(uint8 cbCardData[], WORD wStartID); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
float SendAllCard(WORD wStartID); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void SendCard(uint8 cbCardData, WORD wGetCardUser); // <20><><EFBFBD><EFBFBD>
|
|||
|
|
void SubOutCard(uint8 cbCardData, WORD wOutCardUser, bool isShow = true); // <20>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>(<28><>ͼ<EFBFBD><CDBC><EFBFBD>Ӻ<EFBFBD>)
|
|||
|
|
void SubWeaveCard(CMD_S_OperateResult *pOperateResult); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void SetGangWeave(CMD_S_OperateResult *pOperateResult); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void SetPengWeave(CMD_S_OperateResult *pOperateResult); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
void SortSelfCard(WORD wChairID = SELF_VIEW_CHAIRID); // <20>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void ShowCurrentCard(WORD wChairID, uint8 cbCardData); // <20><>ʾ<EFBFBD><CABE>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void DelOutCard(WORD wChairID, uint8 cbCardData); // ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void ResetHandCard(WORD wChairID); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
Point GetWaveCardPoint(WORD wChairID); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
Point GetCardPoint(WORD wChairID, uint8 cbIndex); // <20>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
Point GetOutPoint(WORD wViewChairID); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
void SceneWeaveCard(WORD wViewChairID, uint8 cbWeaveCount, tagWeaveItem WeaveItemArray[MAX_WEAVE], WORD wArrViewChairID[GAME_PLAYER]); // <20><><EFBFBD><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD>
|
|||
|
|
void SceneHandCard(WORD wViewChairID, uint8 cbCardCount, uint8 cbCardData[]); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
void SceneOutCard(WORD wViewChairID, uint8 cbCardCount, uint8 cbOutCardData[]); // <20><><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD>
|
|||
|
|
|
|||
|
|
// <20><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
// <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>
|
|||
|
|
void ShowLastCard(uint8 cbCardData, WORD wGetCardUser, uint8 cbDirection);
|
|||
|
|
// <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
void ShowAllHandCard(WORD wChairID, uint8 cbCardCount, const uint8 cbCardData[MAX_COUNT]);
|
|||
|
|
|
|||
|
|
// <20><EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
void HideNoticeDlg(); // <20><><EFBFBD>ظ<D8B8><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
void SetNoticeData(CMD_S_OperateNotify &OperateNotify); // <20><><EFBFBD>ø<C3B8><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
bool IsHaveOperateCard(DWORD dwUserAction); // <20>Ƿ<EFBFBD><C7B7>и<D0B8><DFBC><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
bool CheckOperateCard(uint8 cbOperateCard); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>Ǹ<EFBFBD><C7B8><EFBFBD>;
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD>
|
|||
|
|
public:
|
|||
|
|
bool onSendCardEvent(cocos2d::Ref *pSender, Vec2 pos); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
|
|
|||
|
|
private:
|
|||
|
|
std::list<WN_SparrowCard*>* GetCardList(WORD wChairID);
|
|||
|
|
void ClearCardList(WORD wChairID);
|
|||
|
|
};
|
|||
|
|
}
|