1
This commit is contained in:
parent
e1b3882a0e
commit
a0f4623bd9
@ -499,9 +499,9 @@ bool App::ParseOpt()
|
|||||||
return instance_id > 0 && node_id > 0;
|
return instance_id > 0 && node_id > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
long long App::NewUuid()
|
std::string App::NewUuid()
|
||||||
{
|
{
|
||||||
return uuid.Generate();
|
return a8::XValue(uuid.Generate()).GetString();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool App::HasFlag(int flag)
|
bool App::HasFlag(int flag)
|
||||||
|
@ -32,7 +32,7 @@ public:
|
|||||||
|
|
||||||
void NotifyLoopCond();
|
void NotifyLoopCond();
|
||||||
|
|
||||||
long long NewUuid();
|
std::string NewUuid();
|
||||||
bool HasFlag(int flag);
|
bool HasFlag(int flag);
|
||||||
void SetFlag(int flag);
|
void SetFlag(int flag);
|
||||||
void UnSetFlag(int flag);
|
void UnSetFlag(int flag);
|
||||||
|
@ -1446,7 +1446,7 @@ void Human::SendBattleReport()
|
|||||||
already_report_battle_ = true;
|
already_report_battle_ = true;
|
||||||
SendGameOver();
|
SendGameOver();
|
||||||
} else {
|
} else {
|
||||||
long long room_uuid = room->GetRoomUuid();
|
std::string room_uuid = room->GetRoomUuid();
|
||||||
std::string sender_id = account_id;
|
std::string sender_id = account_id;
|
||||||
HttpProxy::Instance()->HttpGet
|
HttpProxy::Instance()->HttpGet
|
||||||
(
|
(
|
||||||
|
@ -59,7 +59,7 @@ class Human : public Creature
|
|||||||
int today_enter_times = 0;
|
int today_enter_times = 0;
|
||||||
int account_registertime = 0;
|
int account_registertime = 0;
|
||||||
int channel = 0;
|
int channel = 0;
|
||||||
long long battle_uuid = 0;
|
std::string battle_uuid;
|
||||||
int is_valid_battle = 0;
|
int is_valid_battle = 0;
|
||||||
std::string payload;
|
std::string payload;
|
||||||
HumanBehavior behavior;
|
HumanBehavior behavior;
|
||||||
|
@ -41,7 +41,7 @@ struct RawTeamMember
|
|||||||
{
|
{
|
||||||
class MatchTeam* team = nullptr;
|
class MatchTeam* team = nullptr;
|
||||||
std::shared_ptr<BattleDataContext> battle_context;
|
std::shared_ptr<BattleDataContext> battle_context;
|
||||||
long long battle_uuid = 0;
|
std::string battle_uuid;
|
||||||
int is_valid_battle = 0;
|
int is_valid_battle = 0;
|
||||||
std::string payload;
|
std::string payload;
|
||||||
long long add_tick = 0;
|
long long add_tick = 0;
|
||||||
|
@ -18,7 +18,7 @@ class Skill;
|
|||||||
struct BattleDataContext
|
struct BattleDataContext
|
||||||
{
|
{
|
||||||
std::shared_ptr<cs::CMJoin> join_msg;
|
std::shared_ptr<cs::CMJoin> join_msg;
|
||||||
long long battle_uuid = 0;
|
std::string battle_uuid;
|
||||||
int is_valid_battle = 0;
|
int is_valid_battle = 0;
|
||||||
std::string payload;
|
std::string payload;
|
||||||
int errcode = 0;
|
int errcode = 0;
|
||||||
|
@ -1662,7 +1662,7 @@ void Human::SendBattleSettlement()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
long long room_uuid = room->GetRoomUuid();
|
std::string room_uuid = room->GetRoomUuid();
|
||||||
std::string tmp_account_id = account_id;
|
std::string tmp_account_id = account_id;
|
||||||
|
|
||||||
HttpProxy::Instance()->HttpGet
|
HttpProxy::Instance()->HttpGet
|
||||||
|
@ -1325,7 +1325,7 @@ void Player::_CMRevive(f8::MsgHdr& hdr, const cs::CMRevive& msg)
|
|||||||
url_params->SetVal("target_id", hum->account_id);
|
url_params->SetVal("target_id", hum->account_id);
|
||||||
url_params->SetVal("num", 1);
|
url_params->SetVal("num", 1);
|
||||||
|
|
||||||
long long room_uuid = room->GetRoomUuid();
|
std::string room_uuid = room->GetRoomUuid();
|
||||||
auto target_uniid = msg.target_uniid();
|
auto target_uniid = msg.target_uniid();
|
||||||
HttpProxy::Instance()->HttpGet
|
HttpProxy::Instance()->HttpGet
|
||||||
(
|
(
|
||||||
|
@ -114,7 +114,7 @@ public:
|
|||||||
const GasData& GetGasData() { return gas_data_; }
|
const GasData& GetGasData() { return gas_data_; }
|
||||||
RoomType_e GetRoomType() { return room_type_; }
|
RoomType_e GetRoomType() { return room_type_; }
|
||||||
RoomMode_e GetRoomMode() { return room_mode_; }
|
RoomMode_e GetRoomMode() { return room_mode_; }
|
||||||
long long GetRoomUuid() { return room_uuid_; }
|
std::string GetRoomUuid() { return room_uuid_; }
|
||||||
int GetRoomIdx() { return room_idx_; }
|
int GetRoomIdx() { return room_idx_; }
|
||||||
std::string GetMapTplName() { return map_tpl_name_; }
|
std::string GetMapTplName() { return map_tpl_name_; }
|
||||||
const mt::Map* GetMapMeta() { return map_meta_; }
|
const mt::Map* GetMapMeta() { return map_meta_; }
|
||||||
@ -359,7 +359,7 @@ private:
|
|||||||
std::vector<int> poly_ext_datas_;
|
std::vector<int> poly_ext_datas_;
|
||||||
int room_idx_ = 0;
|
int room_idx_ = 0;
|
||||||
RoomMode_e room_mode_ = kPvpMode;
|
RoomMode_e room_mode_ = kPvpMode;
|
||||||
long long room_uuid_ = 0;
|
std::string room_uuid_;
|
||||||
const mt::Map* map_meta_ = nullptr;
|
const mt::Map* map_meta_ = nullptr;
|
||||||
std::string map_tpl_name_;
|
std::string map_tpl_name_;
|
||||||
RoomType_e room_type_ = RoomType_NewBrid;
|
RoomType_e room_type_ = RoomType_NewBrid;
|
||||||
|
@ -362,7 +362,7 @@ Room* RoomMgr::GetJoinableRoom(MatchTeam* team)
|
|||||||
nullptr);
|
nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
Room* RoomMgr::GetRoomByUuid(long long room_uuid)
|
Room* RoomMgr::GetRoomByUuid(const std::string& room_uuid)
|
||||||
{
|
{
|
||||||
auto itr = room_hash_.find(room_uuid);
|
auto itr = room_hash_.find(room_uuid);
|
||||||
return itr != room_hash_.end() ? itr->second : nullptr;
|
return itr != room_hash_.end() ? itr->second : nullptr;
|
||||||
@ -374,7 +374,7 @@ Room* RoomMgr::GetRoomByIdx(int room_idx)
|
|||||||
return itr != room_idx_hash_.end() ? itr->second : nullptr;
|
return itr != room_idx_hash_.end() ? itr->second : nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void RoomMgr::AddOverRoom(long long room_uuid)
|
void RoomMgr::AddOverRoom(const std::string& room_uuid)
|
||||||
{
|
{
|
||||||
auto callback =
|
auto callback =
|
||||||
[room_uuid] (int event, const a8::Args* args)
|
[room_uuid] (int event, const a8::Args* args)
|
||||||
@ -400,7 +400,7 @@ void RoomMgr::AddOverRoom(long long room_uuid)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void RoomMgr::ActiveRoom(long long room_uuid)
|
void RoomMgr::ActiveRoom(const std::string& room_uuid)
|
||||||
{
|
{
|
||||||
inactive_room_hash_.erase(room_uuid);
|
inactive_room_hash_.erase(room_uuid);
|
||||||
}
|
}
|
||||||
@ -467,7 +467,7 @@ void RoomMgr::ReportServerState(int instance_id, const std::string& host, int po
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RoomMgr::FreeOverRoom(long long room_uuid)
|
void RoomMgr::FreeOverRoom(const std::string& room_uuid)
|
||||||
{
|
{
|
||||||
auto itr = over_room_hash_.find(room_uuid);
|
auto itr = over_room_hash_.find(room_uuid);
|
||||||
if (itr != over_room_hash_.end()) {
|
if (itr != over_room_hash_.end()) {
|
||||||
@ -626,7 +626,7 @@ void RoomMgr::JoinTeam(MatchTeam* team)
|
|||||||
room->AddTeam(team);
|
room->AddTeam(team);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string RoomMgr::GenTeamHashData(const std::string& team_uuid, std::map<std::string, long long>* team_hash)
|
std::string RoomMgr::GenTeamHashData(const std::string& team_uuid, std::map<std::string, std::string>* team_hash)
|
||||||
{
|
{
|
||||||
std::string data;
|
std::string data;
|
||||||
data += a8::Format("team_uuid:%s ", {team_uuid});
|
data += a8::Format("team_uuid:%s ", {team_uuid});
|
||||||
@ -641,15 +641,15 @@ void RoomMgr::OnJoinRoomOk(const cs::CMJoin& msg, Player* hum)
|
|||||||
if (msg.team_uuid().empty()) {
|
if (msg.team_uuid().empty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
std::map<std::string, long long>* team_hash = nullptr;
|
std::map<std::string, std::string>* team_hash = nullptr;
|
||||||
{
|
{
|
||||||
auto itr = team_room_hash_.find(msg.team_uuid());
|
auto itr = team_room_hash_.find(msg.team_uuid());
|
||||||
if (itr == team_room_hash_.end()) {
|
if (itr == team_room_hash_.end()) {
|
||||||
team_room_hash_[msg.team_uuid()] = std::map<std::string, long long>();
|
team_room_hash_[msg.team_uuid()] = std::map<std::string, std::string>();
|
||||||
itr = team_room_hash_.find(msg.team_uuid());
|
itr = team_room_hash_.find(msg.team_uuid());
|
||||||
team_hash = &itr->second;
|
team_hash = &itr->second;
|
||||||
for (auto& team_member : msg.team_members()) {
|
for (auto& team_member : msg.team_members()) {
|
||||||
team_hash->insert(std::make_pair(team_member.account_id(), 0));
|
team_hash->insert(std::make_pair(team_member.account_id(), ""));
|
||||||
}
|
}
|
||||||
std::string team_uuid = msg.team_uuid();
|
std::string team_uuid = msg.team_uuid();
|
||||||
f8::Timer::Instance()->SetTimeout
|
f8::Timer::Instance()->SetTimeout
|
||||||
@ -686,7 +686,7 @@ void RoomMgr::OnJoinRoomOk(const cs::CMJoin& msg, Player* hum)
|
|||||||
|
|
||||||
void RoomMgr::TeamRoomTimeOut(const std::string& team_uuid)
|
void RoomMgr::TeamRoomTimeOut(const std::string& team_uuid)
|
||||||
{
|
{
|
||||||
std::map<std::string, long long>* team_hash = nullptr;
|
std::map<std::string, std::string>* team_hash = nullptr;
|
||||||
{
|
{
|
||||||
auto itr = team_room_hash_.find(team_uuid);
|
auto itr = team_room_hash_.find(team_uuid);
|
||||||
if (itr != team_room_hash_.end()) {
|
if (itr != team_room_hash_.end()) {
|
||||||
@ -696,7 +696,7 @@ void RoomMgr::TeamRoomTimeOut(const std::string& team_uuid)
|
|||||||
if (team_hash) {
|
if (team_hash) {
|
||||||
bool ok = true;
|
bool ok = true;
|
||||||
for (auto pair : *team_hash) {
|
for (auto pair : *team_hash) {
|
||||||
if (pair.second == 0) {
|
if (pair.second.empty()) {
|
||||||
ok = false;
|
ok = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,7 @@ struct RoomInitInfo
|
|||||||
{
|
{
|
||||||
int room_idx = 0;
|
int room_idx = 0;
|
||||||
RoomMode_e room_mode = kPvpMode;
|
RoomMode_e room_mode = kPvpMode;
|
||||||
long long room_uuid = 0;
|
std::string room_uuid;
|
||||||
RoomType_e room_type = RoomType_NewBrid;
|
RoomType_e room_type = RoomType_NewBrid;
|
||||||
int creator_game_times = 0;
|
int creator_game_times = 0;
|
||||||
int creator_register_time = 0;
|
int creator_register_time = 0;
|
||||||
@ -75,11 +75,11 @@ class RoomMgr : public a8::Singleton<RoomMgr>
|
|||||||
void _CMJoin(f8::MsgHdr& hdr, const cs::CMJoin& msg);
|
void _CMJoin(f8::MsgHdr& hdr, const cs::CMJoin& msg);
|
||||||
void _CMReconnect(f8::MsgHdr& hdr, const cs::CMReconnect& msg);
|
void _CMReconnect(f8::MsgHdr& hdr, const cs::CMReconnect& msg);
|
||||||
void _CMPing(f8::MsgHdr& hdr, const cs::CMPing& msg);
|
void _CMPing(f8::MsgHdr& hdr, const cs::CMPing& msg);
|
||||||
void ActiveRoom(long long room_uuid);
|
void ActiveRoom(const std::string& room_uuid);
|
||||||
int RoomNum();
|
int RoomNum();
|
||||||
int OverRoomNum();
|
int OverRoomNum();
|
||||||
Room* GetRoomByUuid(long long uuid);
|
Room* GetRoomByUuid(const std::string& uuid);
|
||||||
void AddOverRoom(long long room_uuid);
|
void AddOverRoom(const std::string& room_uuid);
|
||||||
bool IsGM(const std::string& account_id);
|
bool IsGM(const std::string& account_id);
|
||||||
void JoinTeam(MatchTeam* team);
|
void JoinTeam(MatchTeam* team);
|
||||||
void SendGetBattleData(int mode,
|
void SendGetBattleData(int mode,
|
||||||
@ -100,7 +100,7 @@ class RoomMgr : public a8::Singleton<RoomMgr>
|
|||||||
int channel);
|
int channel);
|
||||||
Room* GetJoinableRoom(MatchTeam* team);
|
Room* GetJoinableRoom(MatchTeam* team);
|
||||||
void ReportServerState(int instance_id, const std::string& host, int port);
|
void ReportServerState(int instance_id, const std::string& host, int port);
|
||||||
void FreeOverRoom(long long room_uuid);
|
void FreeOverRoom(const std::string& room_uuid);
|
||||||
bool IsLimitJoin();
|
bool IsLimitJoin();
|
||||||
|
|
||||||
int AllocRoomIdx();
|
int AllocRoomIdx();
|
||||||
@ -113,7 +113,7 @@ class RoomMgr : public a8::Singleton<RoomMgr>
|
|||||||
int map_id,
|
int map_id,
|
||||||
std::shared_ptr<CustomBattle> custom_battle);
|
std::shared_ptr<CustomBattle> custom_battle);
|
||||||
void JoinErrorHandle(const cs::CMJoin& msg, int error_code, int socket_handle);
|
void JoinErrorHandle(const cs::CMJoin& msg, int error_code, int socket_handle);
|
||||||
std::string GenTeamHashData(const std::string& team_uuid, std::map<std::string, long long>* team_hash);
|
std::string GenTeamHashData(const std::string& team_uuid, std::map<std::string, std::string>* team_hash);
|
||||||
void OnJoinRoomOk(const cs::CMJoin& msg, Player* hum);
|
void OnJoinRoomOk(const cs::CMJoin& msg, Player* hum);
|
||||||
void TeamRoomTimeOut(const std::string& team_uuid);
|
void TeamRoomTimeOut(const std::string& team_uuid);
|
||||||
void AdjustCMJoin(cs::CMJoin* msg);
|
void AdjustCMJoin(cs::CMJoin* msg);
|
||||||
@ -127,13 +127,13 @@ class RoomMgr : public a8::Singleton<RoomMgr>
|
|||||||
int current_room_idx_ = 0;
|
int current_room_idx_ = 0;
|
||||||
int match_mode_ = 0;
|
int match_mode_ = 0;
|
||||||
|
|
||||||
std::map<long long, Room*> inactive_room_hash_;
|
std::map<std::string, Room*> inactive_room_hash_;
|
||||||
std::map<long long, Room*> room_hash_;
|
std::map<std::string, Room*> room_hash_;
|
||||||
std::map<int, Room*> room_idx_hash_;
|
std::map<int, Room*> room_idx_hash_;
|
||||||
std::map<long long, Room*> over_room_hash_;
|
std::map<std::string, Room*> over_room_hash_;
|
||||||
f8::Attacher reportstate_timer_attacher_;
|
f8::Attacher reportstate_timer_attacher_;
|
||||||
std::map<std::string, int> gm_hash_;
|
std::map<std::string, int> gm_hash_;
|
||||||
std::map<std::string, std::map<std::string, long long>> team_room_hash_;
|
std::map<std::string, std::map<std::string, std::string>> team_room_hash_;
|
||||||
std::map<std::string, std::shared_ptr<CustomBattle>> custom_room_hash_;
|
std::map<std::string, std::shared_ptr<CustomBattle>> custom_room_hash_;
|
||||||
std::map<std::string, std::shared_ptr<CustomBattle>> his_custom_room_hash_;
|
std::map<std::string, std::shared_ptr<CustomBattle>> his_custom_room_hash_;
|
||||||
};
|
};
|
||||||
|
@ -245,7 +245,7 @@ void Team::SendTeamBattleReport(Human* sender)
|
|||||||
params->SetVal("session_id", player->session_id);
|
params->SetVal("session_id", player->session_id);
|
||||||
params->SetVal("__POST", post_data->ToJsonStr());
|
params->SetVal("__POST", post_data->ToJsonStr());
|
||||||
|
|
||||||
long long room_uuid = room->GetRoomUuid();
|
std::string room_uuid = room->GetRoomUuid();
|
||||||
int team_id = GetTeamId();
|
int team_id = GetTeamId();
|
||||||
HttpProxy::Instance()->HttpGet
|
HttpProxy::Instance()->HttpGet
|
||||||
(
|
(
|
||||||
@ -475,14 +475,14 @@ void Team::GenBattleReportData(Human* player, a8::MutableXObject* params)
|
|||||||
|
|
||||||
void Team::GenBattleUuid()
|
void Team::GenBattleUuid()
|
||||||
{
|
{
|
||||||
long long battle_uuid = 0;
|
std::string battle_uuid = 0;
|
||||||
for (Human* hum : members_) {
|
for (Human* hum : members_) {
|
||||||
if (hum->battle_uuid) {
|
if (!hum->battle_uuid.empty()) {
|
||||||
battle_uuid = hum->battle_uuid;
|
battle_uuid = hum->battle_uuid;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!battle_uuid) {
|
if (!battle_uuid.empty()) {
|
||||||
battle_uuid = App::Instance()->NewUuid();
|
battle_uuid = App::Instance()->NewUuid();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user