1
This commit is contained in:
parent
a965005f7d
commit
a46099de76
@ -18,6 +18,16 @@ void CustomBattle::Init()
|
|||||||
ob_team_ = std::make_shared<CustomTeam>();
|
ob_team_ = std::make_shared<CustomTeam>();
|
||||||
ob_team_->team_uuid_ = "";
|
ob_team_->team_uuid_ = "";
|
||||||
ob_team_->is_view_ = true;
|
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()
|
void CustomBattle::UnInit()
|
||||||
@ -84,14 +94,11 @@ void CustomBattle::ParseResult(a8::XObject& obj)
|
|||||||
auto member = std::make_shared<CustomMember>();
|
auto member = std::make_shared<CustomMember>();
|
||||||
member->team_ = team.get();
|
member->team_ = team.get();
|
||||||
member->account_id_ = member_obj->Get("account_id").GetString();
|
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->session_id_ = member_obj->Get("session_id").GetString();
|
||||||
member->name_ = member_obj->Get("name").GetString();
|
member->name_ = member_obj->Get("name").GetString();
|
||||||
member->sex_ = member_obj->Get("sex");
|
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->avatar_url_ = member_obj->Get("head_id").GetString();
|
||||||
member->battle_context_ = std::make_shared<BattleDataContext>();
|
member->battle_context_ = std::make_shared<BattleDataContext>();
|
||||||
member->battle_context_->ParseResult(*member_obj);
|
member->battle_context_->ParseResult(*member_obj);
|
||||||
@ -102,24 +109,6 @@ void CustomBattle::ParseResult(a8::XObject& obj)
|
|||||||
member_id_hash_[member->account_id_] = member;
|
member_id_hash_[member->account_id_] = member;
|
||||||
team->member_hash_[member->account_id_] = member;
|
team->member_hash_[member->account_id_] = member;
|
||||||
account_hash_[member->account_id_] = team;
|
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,
|
a8::RandEx(mt::Param::s().battle_auto_ready_min_time,
|
||||||
mt::Param::s().battle_auto_ready_max_time) * 1000,
|
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 (a8::TIMER_EXEC_EVENT == event) {
|
||||||
|
if (!member->is_ready_) {
|
||||||
|
member->GetTeam()->GetCustomBattle()->OnMemberReady(member.get());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
&timer_attacher);
|
&timer_attacher);
|
||||||
|
@ -28,5 +28,5 @@ void CustomMember::_CMBattlePreSetReady(f8::MsgHdr* hdr, const cs::CMBattlePreSe
|
|||||||
|
|
||||||
bool CustomMember::IsAndroid()
|
bool CustomMember::IsAndroid()
|
||||||
{
|
{
|
||||||
return false;
|
return is_android_ != 0;
|
||||||
}
|
}
|
||||||
|
@ -49,6 +49,7 @@ private:
|
|||||||
int head_frame_ = 0;
|
int head_frame_ = 0;
|
||||||
int sex_ = 0;
|
int sex_ = 0;
|
||||||
int is_ready_ = 0;
|
int is_ready_ = 0;
|
||||||
|
int is_android_ = 0;
|
||||||
int robot_id_ = 0;
|
int robot_id_ = 0;
|
||||||
std::shared_ptr<BattleDataContext> battle_context_;
|
std::shared_ptr<BattleDataContext> battle_context_;
|
||||||
friend class CustomBattle;
|
friend class CustomBattle;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user