Files

95 lines
3.1 KiB
C
Raw Permalink Normal View History

2026-02-13 14:34:15 +08:00
#ifndef ANDROID_USER_ITEM_SINK_HEAD_FILE
#define ANDROID_USER_ITEM_SINK_HEAD_FILE
#pragma once
#include "Stdafx.h"
#include "TableFrameSink.h"
//////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
class CAndroidUserItemSink : public IAndroidUserItemSink
{
//<2F>˿˱<CBBF><CBB1><EFBFBD>
protected:
BYTE m_bHandCardData[HAND_CARD_COUNT]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD>
BYTE m_bHandCardCount; //<2F>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD>
BYTE m_bSegmentCard[3][5]; //<2F>ֶ<EFBFBD><D6B6>˿<EFBFBD>
BYTE m_bSpecialCardData[HAND_CARD_COUNT];//<2F><><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD>
int m_nRobotPlayCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>
int m_nRobotPlayMaxCount; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>
bool m_bPlayer[GAME_PLAYER]; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
BYTE m_bAllUserCardData[GAME_PLAYER][HAND_CARD_COUNT];
bool m_bWait; //<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
TCHAR m_szRoomName[32]; //<2F><><EFBFBD>÷<EFBFBD><C3B7><EFBFBD>
int m_nAndroidNum;
//<2F>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD>
protected:
CGameLogic m_GameLogic; //<2F><>Ϸ<EFBFBD>߼<EFBFBD>
IAndroidUserItem * m_pIAndroidUserItem; //<2F>û<EFBFBD><C3BB>ӿ<EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public:
//<2F><><EFBFBD><EFBFBD><ECBAAF>
CAndroidUserItemSink();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual ~CAndroidUserItemSink();
private:
//<2F><><EFBFBD>в<EFBFBD><D0B2><EFBFBD>
void BankOperate(BYTE cbType);
//<2F><><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
public:
//<2F>ͷŶ<CDB7><C5B6><EFBFBD>
virtual VOID Release() { }
//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>Ч
virtual bool IsValid() { return AfxIsValidAddress(this,sizeof(CAndroidUserItemSink))?true:false; }
//<2F>ӿڲ<D3BF>ѯ
virtual void * QueryInterface(const IID & Guid, DWORD dwQueryVer);
//<2F><><EFBFBD>ƽӿ<C6BD>
public:
//<2F><>ʼ<EFBFBD>ӿ<EFBFBD>
virtual bool Initialization(IUnknownEx * pIUnknownEx);
//<2F><><EFBFBD>ýӿ<C3BD>
virtual bool RepositionSink();
//<2F><>Ϸ<EFBFBD>¼<EFBFBD>
public:
//ʱ<><CAB1><EFBFBD><EFBFBD>Ϣ
virtual bool OnEventTimer(UINT nTimerID);
//<2F><>Ϸ<EFBFBD><CFB7>Ϣ
virtual bool OnEventGameMessage(WORD wSubCmdID, void * pData, WORD wDataSize);
//<2F><>Ϸ<EFBFBD><CFB7>Ϣ
virtual bool OnEventFrameMessage(WORD wSubCmdID, void * pData, WORD wDataSize);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
virtual bool OnEventSceneMessage(BYTE cbGameStatus, bool bLookonOther, void * pData, WORD wDataSize);
//<2F>û<EFBFBD><C3BB>¼<EFBFBD>
public:
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
virtual void OnEventUserEnter(IAndroidUserItem * pIAndroidUserItem, bool bLookonUser);
//<2F>û<EFBFBD><C3BB>
virtual void OnEventUserLeave(IAndroidUserItem * pIAndroidUserItem, bool bLookonUser);
//<2F>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
virtual void OnEventUserScore(IAndroidUserItem * pIAndroidUserItem, bool bLookonUser);
//<2F>û<EFBFBD>״̬
virtual void OnEventUserStatus(IAndroidUserItem * pIAndroidUserItem, bool bLookonUser);
//<2F>û<EFBFBD><C3BB><EFBFBD>λ
virtual void OnEventUserSegment(IAndroidUserItem * pIAndroidUserItem, bool bLookonUser);
protected:
//<2F><><EFBFBD>÷ֶ<C3B7>
//bool OnSubSetSegment(const void * pBuffer , WORD wDataSize);
//<2F><><EFBFBD><EFBFBD>̯<EFBFBD><CCAF>
//bool OnSubShowCard(const void * pBuffer , WORD wDataSize) ;
//<2F><>Ϸ<EFBFBD><CFB7>ʼ
bool OnSubSendCard(void * pData, WORD wDataSize);
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>
bool OnSubGameEnd(void * pData, WORD wDataSize);
void GetSpecialCard(BYTE CardData[],BYTE CardCount);
void ShowCard();
void GetAllUserDaoShu(BYTE btCard[],LONG lUserDaoShu[],WORD wChaiID,bool bSpecial);
};
//////////////////////////////////////////////////////////////////////////
#endif