This commit is contained in:
aozhiwei 2024-03-26 14:54:28 +08:00
parent a965005f7d
commit a46099de76
3 changed files with 18 additions and 25 deletions

View File

@ -18,6 +18,16 @@ void CustomBattle::Init()
ob_team_ = std::make_shared<CustomTeam>();
ob_team_->team_uuid_ = "";
ob_team_->is_view_ = true;
f8::Timer::Instance()->SetIntervalEx
(
2000,
[this] (int event, const a8::Args* args)
{
if (a8::TIMER_EXEC_EVENT == event) {
NotifyState();
}
},
&timer_attacher);
}
void CustomBattle::UnInit()
@ -84,14 +94,11 @@ void CustomBattle::ParseResult(a8::XObject& obj)
auto member = std::make_shared<CustomMember>();
member->team_ = team.get();
member->account_id_ = member_obj->Get("account_id").GetString();
#ifdef MYDEBUG1
if (IsMoba()) {
member->account_id_ = member->account_id_ + "$$$$";
}
#endif
member->session_id_ = member_obj->Get("session_id").GetString();
member->name_ = member_obj->Get("name").GetString();
member->sex_ = member_obj->Get("sex");
member->robot_id_ = member_obj->Get("robot_id");
member->is_android_ = member_obj->Get("is_android");
member->avatar_url_ = member_obj->Get("head_id").GetString();
member->battle_context_ = std::make_shared<BattleDataContext>();
member->battle_context_->ParseResult(*member_obj);
@ -102,24 +109,6 @@ void CustomBattle::ParseResult(a8::XObject& obj)
member_id_hash_[member->account_id_] = member;
team->member_hash_[member->account_id_] = member;
account_hash_[member->account_id_] = team;
#ifdef MYDEBUG1
if (IsMoba()) {
auto member = std::make_shared<CustomMember>();
member->team_ = ob_team_.get();
member->account_id_ = member_obj->Get("account_id").GetString();
member->session_id_ = member_obj->Get("session_id").GetString();
member->name_ = member_obj->Get("name").GetString();
member->sex_ = member_obj->Get("sex");
member->battle_context_ = std::make_shared<BattleDataContext>();
member->battle_context_->ParseResult(*member_obj);
if (!member->battle_context_->parse_ok) {
parse_ok_ = false;
return;
}
account_hash_[member->account_id_] = ob_team_;
ob_id_hash_[member->account_id_] = member;
}
#endif
}
}
}
@ -324,9 +313,12 @@ void CustomBattle::OnEnter(std::shared_ptr<cs::CMJoin> join_msg, long ip_saddr,
(
a8::RandEx(mt::Param::s().battle_auto_ready_min_time,
mt::Param::s().battle_auto_ready_max_time) * 1000,
[] (int event, const a8::Args* args)
[member] (int event, const a8::Args* args)
{
if (a8::TIMER_EXEC_EVENT == event) {
if (!member->is_ready_) {
member->GetTeam()->GetCustomBattle()->OnMemberReady(member.get());
}
}
},
&timer_attacher);

View File

@ -28,5 +28,5 @@ void CustomMember::_CMBattlePreSetReady(f8::MsgHdr* hdr, const cs::CMBattlePreSe
bool CustomMember::IsAndroid()
{
return false;
return is_android_ != 0;
}

View File

@ -49,6 +49,7 @@ private:
int head_frame_ = 0;
int sex_ = 0;
int is_ready_ = 0;
int is_android_ = 0;
int robot_id_ = 0;
std::shared_ptr<BattleDataContext> battle_context_;
friend class CustomBattle;