📄 soccermonitor.h
字号:
#ifndef _SOCCER_MONITOR_H_
#define _SOCCER_MONITOR_H_
#include "defines.h"
#include "UDPSocket.h"
enum MonitorCommand{
CmdConnect,
CmdDisconnect,
CmdReconnect,
CmdKickoff,
CmdDropball,
CmdFoulleft,
CmdFoulright,
CmdMoveplayer,
CmdDiscard,
CmdSetdisconnected
};
class CSoccerMonitor;
class CMainFrame;
/*******************************************************************************/
/* CSocketThread */
/*******************************************************************************/
class CSocketThread : public CWinThread {
public:
CSocketThread(CSoccerMonitor* pMonitor,CString strHost,UINT nPort);
virtual ~CSocketThread();
virtual int Run();
int SendTo(const char* buf,int len)
{ return _Socket.SendTo(buf,len); }
void start() { CreateThread(); } // 线程开始
void end(); // 线程结束
bool Valid() { return _Socket.Valid(); } // socket是否可用
virtual BOOL InitInstance();
private:
CSoccerMonitor* _pMonitor;
CUDPSocket _Socket;
volatile bool _bAlive;
bool _bValid;
};
/*******************************************************************************/
/* CSoccerMonitor */
/*******************************************************************************/
class CSoccerMonitor
{
public:
CSoccerMonitor(void);
~CSoccerMonitor(void);
void init(CMainFrame* pMainFrame) { _pMainFrame = pMainFrame ; }
bool doCommand(MonitorCommand cmd);
bool doCommand(MonitorCommand cmd,CPoint p);
bool doCommand(MonitorCommand cmd,int side,UINT num,CPoint p);
bool doCommand(MonitorCommand cmd,int side,UINT num);
bool getCommandStatus(MonitorCommand cmd);
void addDispInfo(const dispinfo_t2* pInfo);
protected:
bool doConnect();
bool doDisconnect(bool bDestructing = false);
bool doReconnect();
bool doKickOff();
bool doFoulLeft(CPoint p);
bool doFoulRight(CPoint p);
bool doDropBall(CPoint p);
bool doFoul(CPoint p,int side);
bool doDiscard(int side,UINT num);
bool doMovePlayer(int side,UINT num,CPoint p);
bool startSocket();
void send_msg(char* msg);
private:
CString _ServerHost;
UINT _ServerPort;
bool _bConnected;
bool _bConnectedOnce;
CSocketThread* _pSocketThread;
CMainFrame* _pMainFrame;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -