This commit is contained in:
aozhiwei 2023-10-13 15:55:21 +08:00
parent a1f0544db3
commit 80375b14e5
4 changed files with 39 additions and 3 deletions

View File

@ -521,3 +521,25 @@ void Team::IncKillCount()
&room->xtimer_attacher_); &room->xtimer_attacher_);
} }
} }
int Team::GetAlivePlayerNum()
{
int num = 0;
for (Human* member : members_) {
if (member->IsPlayer() && !member->dead) {
++num;
}
}
return num;
}
int Team::GetPlayerNum()
{
int num = 0;
for (Human* member : members_) {
if (member->IsPlayer()) {
++num;
}
}
return num;
}

View File

@ -34,6 +34,7 @@ class Team
Human* RandomOneAliveMember(Human* exclude_hum); Human* RandomOneAliveMember(Human* exclude_hum);
bool HasAliveMember(); bool HasAliveMember();
int GetAliveNum(); int GetAliveNum();
int GetAlivePlayerNum();
void AddMember(Human* member); void AddMember(Human* member);
bool IsFull(); bool IsFull();
void CombineBornPoint(); void CombineBornPoint();
@ -45,6 +46,7 @@ class Team
bool HasReviveCoin(Human* member); bool HasReviveCoin(Human* member);
bool IsFreeTeam(); bool IsFreeTeam();
bool HasPlayer(); bool HasPlayer();
int GetPlayerNum();
void FillSMGameOver(cs::SMGameOver& msg); void FillSMGameOver(cs::SMGameOver& msg);
void SendTeamBattleReport(Human* sender); void SendTeamBattleReport(Human* sender);
void GenBattleReportData(Human* player, a8::MutableXObject* params); void GenBattleReportData(Human* player, a8::MutableXObject* params);

View File

@ -2,6 +2,8 @@
#include "team_agent.h" #include "team_agent.h"
#include "team.h"
TeamAgent::TeamAgent():BaseAgent() TeamAgent::TeamAgent():BaseAgent()
{ {
@ -13,15 +15,20 @@ TeamAgent::~TeamAgent()
int TeamAgent::GetMemberNum() int TeamAgent::GetMemberNum()
{ {
return 0; return team_->GetMemberNum();
} }
int TeamAgent::GetPlayerNum() int TeamAgent::GetPlayerNum()
{ {
return 0; return team_->GetPlayerNum();
} }
int TeamAgent::GetAlivePlayerNum() int TeamAgent::GetAlivePlayerNum()
{ {
return 0; return team_->GetAlivePlayerNum();
}
void TeamAgent::SetTeam(Team* team)
{
team_ = team;
} }

View File

@ -2,6 +2,7 @@
#include "new_base_agent.h" #include "new_base_agent.h"
class Team;
class TeamAgent : public BaseAgent class TeamAgent : public BaseAgent
{ {
public: public:
@ -14,4 +15,8 @@ public:
int GetMemberNum(); int GetMemberNum();
int GetPlayerNum(); int GetPlayerNum();
int GetAlivePlayerNum(); int GetAlivePlayerNum();
void SetTeam(Team* team);
private:
Team* team_ = nullptr;
}; };