1
This commit is contained in:
parent
cfc52f7151
commit
785c62e3af
@ -13,7 +13,7 @@ void RawTeamMember::FillMFMatchTeamMember(cs::MFMatchTeamMember* p)
|
|||||||
p->set_account_id(msg.account_id());
|
p->set_account_id(msg.account_id());
|
||||||
p->set_name(msg.name());
|
p->set_name(msg.name());
|
||||||
p->set_avatar_url(msg.avatar_url());
|
p->set_avatar_url(msg.avatar_url());
|
||||||
if (choose_hero_times > 0) {
|
if (choose_hero_times <= 0) {
|
||||||
p->set_hero_id(0);
|
p->set_hero_id(0);
|
||||||
} else {
|
} else {
|
||||||
p->set_hero_id(msg.hero_id());
|
p->set_hero_id(msg.hero_id());
|
||||||
@ -221,7 +221,21 @@ void MatchTeam::UpdateMaster()
|
|||||||
break;
|
break;
|
||||||
case kMatchChoose:
|
case kMatchChoose:
|
||||||
{
|
{
|
||||||
|
if (phase_left_time_ <= 10) {
|
||||||
|
if (last_auto_choose_tick_ <= 0) {
|
||||||
|
AutoChoose();
|
||||||
|
last_auto_choose_tick_ = a8::XGetTickCount();
|
||||||
|
} else {
|
||||||
|
if (a8::XGetTickCount() - last_auto_choose_tick_ > (last_auto_choose_tick_ % 3000)) {
|
||||||
|
AutoChoose();
|
||||||
|
last_auto_choose_tick_ = a8::XGetTickCount();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if (phase_left_time_ <= 0) {
|
if (phase_left_time_ <= 0) {
|
||||||
|
for (int i = 0; i < 4; ++i) {
|
||||||
|
AutoChoose(true);
|
||||||
|
}
|
||||||
phase_ = kMatchLock;
|
phase_ = kMatchLock;
|
||||||
phase_start_tick_ = a8::XGetTickCount();
|
phase_start_tick_ = a8::XGetTickCount();
|
||||||
countdown_ = MetaMgr::Instance()->match_lock_time;
|
countdown_ = MetaMgr::Instance()->match_lock_time;
|
||||||
@ -420,3 +434,16 @@ void MatchTeam::ChooseLeader()
|
|||||||
member->is_leader = false;
|
member->is_leader = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MatchTeam::AutoChoose(bool force)
|
||||||
|
{
|
||||||
|
for (auto& member : curr_member_hash_) {
|
||||||
|
if (member->choose_hero_times <= 0) {
|
||||||
|
if (member->is_robot){
|
||||||
|
++member->choose_hero_times;
|
||||||
|
} else if (force) {
|
||||||
|
++member->choose_hero_times;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -82,6 +82,7 @@ class MatchTeam
|
|||||||
void ShuaRobot();
|
void ShuaRobot();
|
||||||
void StartGame();
|
void StartGame();
|
||||||
void ChooseLeader();
|
void ChooseLeader();
|
||||||
|
void AutoChoose(bool force = false);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
long long phase_start_tick_ = 0;
|
long long phase_start_tick_ = 0;
|
||||||
@ -91,6 +92,7 @@ class MatchTeam
|
|||||||
long long create_tick_ = 0;
|
long long create_tick_ = 0;
|
||||||
std::map<std::string, std::shared_ptr<RawTeamMember>> raw_member_hash_;
|
std::map<std::string, std::shared_ptr<RawTeamMember>> raw_member_hash_;
|
||||||
std::shared_ptr<RawTeamMember> first_member_;
|
std::shared_ptr<RawTeamMember> first_member_;
|
||||||
|
long long last_auto_choose_tick_ = 0;
|
||||||
|
|
||||||
std::map<std::string, MatchTeam*> combined_team_hash_;
|
std::map<std::string, MatchTeam*> combined_team_hash_;
|
||||||
MatchTeam* master_team_ = nullptr;
|
MatchTeam* master_team_ = nullptr;
|
||||||
|
@ -348,7 +348,7 @@ public:
|
|||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
MetaMgr::Instance()->match_team_time = 10;
|
MetaMgr::Instance()->match_team_time = 10;
|
||||||
MetaMgr::Instance()->match_robot_time = 5;
|
MetaMgr::Instance()->match_robot_time = 5;
|
||||||
MetaMgr::Instance()->match_choose_time = 60;
|
MetaMgr::Instance()->match_choose_time = 30;
|
||||||
MetaMgr::Instance()->match_lock_time = 10;
|
MetaMgr::Instance()->match_lock_time = 10;
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user