Files
wnmj-normal/Classes/Scenes/MainScene.h

183 lines
4.2 KiB
C
Raw Normal View History

2026-03-03 13:56:44 +08:00
#pragma once
#include "cocos2d.h"
#include "cocostudio/CocoStudio.h"
#include "ui/CocosGUI.h"
#include "PrivateMission.h"
#include "IndividualMission.h"
#include "UserInGameServer.h"
#include "MissionWeiXin.h"
#include "LoginMission.h"
#include "SystemNotice.h"
#include "TipNode.h"
#include "JoinScene.h"
#include "CreateScene.h"
#include "GameUnionScene.h"
USING_NS_CC;
using namespace cocos2d::ui;
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
enum BT_CLICK_TYPE
{
BT_CLICK_NULL = 0, //<2F><>ʼֵ;
BT_CLICK_UNION, //<2F><><EFBFBD><EFBFBD>;
BT_CLICK_CREATE, //<2F><><EFBFBD><EFBFBD>;
BT_CLICK_JOIN, //<2F><><EFBFBD><EFBFBD>;
};
class MainScene : public Scene
, public IIndividualMissionSink
, public IUserInGameServerSink
, public IWeiXinMissionSink
, public ILoginMissionSink
, public IPrivateMissionSink
{
public:
MainScene();
~MainScene();
public:
CREATE_FUNC(MainScene);
virtual bool init();
virtual void onEnter();
virtual void onEnterTransitionDidFinish();
virtual void onExit();
void appWillEnterForeground();
// <20><>ʼ<EFBFBD><CABC>ϵͳ<CFB5><CDB3>Ϣ
void InitSystemInfo();
void updateServerInfo();
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
//void getPlacedWithIP(const char* pStr);
public:
virtual void onGPNoticeResult(tagGameMatch& pGameMatchInfo,bool bSucess,const char* pStr );
virtual void onGPAccountInfo(CMD_GP_UserAccountInfo* pAccountInfo);
virtual void onUserInGameServerID(CMD_GP_InGameSeverID* pNetInfo);
virtual void onUserInUnion(CMD_GP_InUnion* pNetInfo);
virtual void onUnionAndGameInfo(tagUnionAndGameList *pUnionAndGameList);
virtual void onUnionRoomInfo(tagRoomItemList *pRoomItemList);
virtual void onAutoRoomInfo(tagAutoRoomItemList *pRoomItemList);
virtual void StartGameScene(CGameServerItem* pServer);
virtual void CreateAutoRoomInfoResulte(CMD_GR_AutoResulte* pAutoResulte);
void checkInGameServer();
void upPlayerInfo();
void onEventBtnClick(BT_CLICK_TYPE btnClickType);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void onEventCreatePrivateRoom(EventCustom* event);
// <20><><EFBFBD>뷿<EFBFBD><EBB7BF>
void onEventJoinPrivateRoom(EventCustom* event);
// <20><><EFBFBD>·<EFBFBD><C2B7><EFBFBD>
void onEventUpdateUserInsure(EventCustom* event);
// ΢<>ŷ<EFBFBD><C5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȧ<EFBFBD>ɹ<EFBFBD>
void WXShardFriendsSuccess(EventCustom* event);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
virtual void onWXShardReward(CMD_GP_WXShareReward* pReward);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void onKeyReleased(EventKeyboard::KeyCode keyCode, Event * pEvent);
// <20><>ʾͷ<CABE><CDB7>
void ShowHead();
// ˽<>˳<EFBFBD>;
private:
void joinPrivateRoom(uint32 dwRoomNum);
void RequsetHttpInfo();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B1BE>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
void ResponseResult(rapidjson::Document* pDoc);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ;
void ResponseUserInfoResult(rapidjson::Document* pDoc);
// <20><><EFBFBD>᷿<EFBFBD><E1B7BF>;
private:
// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
void initUnionRoom();
// <20><>ʾ<EFBFBD><CABE><EFBFBD>᷿<EFBFBD><E1B7BF>;
void showUnionRoomList(tagRoomItemList *pRoomItemList);
// <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>;
void ShowUnionList(tagUnionAndGameList* pUnionAndGameList);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱˢ<CAB1>¹<EFBFBD><C2B9><EFBFBD><EFBFBD><EFBFBD>Ϣ;
void startUnionRoomTime();
// <20><><EFBFBD>󹫻᷿<F3B9ABBB><E1B7BF>;
void RequsetUnionRoomList(bool isLoading = true);
// <20><><EFBFBD><EFBFBD><EBB9A4>ID
void onEventInpuUnionID(EventCustom* event);
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>;
void onEventGetRoomList(EventCustom* event);
// <20><>ȡ<EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ;
void onEventGetAutoRoomList(EventCustom* event);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ;
void onEventCreateAutoRoomInfo(EventCustom* event);
// ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ;
void onEventDeleteAutoRoomInfo(EventCustom* event);
// <20><>ȡ<EFBFBD><C8A1>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>;
std::string getGameRule(uint16 wKindID, uint32 dwGameRule);
protected:
Node* m_rootPanel; //<2F><><EFBFBD>ڵ<EFBFBD>;
PrivateMission m_kPrivateMission;
UserInGameServer m_kUserInGameServer;
IndividualMission m_IndivMission;
bool m_IsStartGame; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ
Button* m_CreateItem; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>
BT_CLICK_TYPE m_btnClickType; //<2F><>ť<EFBFBD><C5A5><EFBFBD><EFBFBD>;
//////////////////////////////////////////////////////////////////////////
TipNode* m_SetNode;
JoinScene* m_JoinNode;
CreateScene* m_CreateNode;
GameUnionScene* m_GameUnionNode;
ImageView* m_SystemInfo; // ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
SystemNotice* m_PlatformNotic;
//////////////////////////////////////////////////////////////////////////
Layout* m_PanelRoom;
ScrollView* m_RoomList;
ScrollView* m_UnionList;
Button* m_btnRefresh;
Button* m_btnRoomItem0;
Button* m_btnRoomItem1;
Button* m_btnUnionItem;
Button* m_btnBackUnion;
Button* m_txtSelectUnion;
//Text* m_txtBackUnion;
uint32 m_dwSelectUnionCode;
bool m_isRefreshing;
int m_nRefreshErr;
};