This commit is contained in:
aozhiwei 2023-10-02 15:48:15 +08:00
parent 9419e2728a
commit cc0bf35f27
4 changed files with 10 additions and 2 deletions

View File

@ -40,6 +40,7 @@ void CustomBattle::ParseResult(a8::XObject& obj)
return; return;
} }
std::string team_uuid = team_obj->Get("team_uuid").GetString(); std::string team_uuid = team_obj->Get("team_uuid").GetString();
int is_view = team_obj->Get("is_view").GetInt();
auto member_list = team_obj->At("members"); auto member_list = team_obj->At("members");
if (!member_list || if (!member_list ||
!member_list->IsArray()) { !member_list->IsArray()) {
@ -50,6 +51,7 @@ void CustomBattle::ParseResult(a8::XObject& obj)
if (!team) { if (!team) {
team = std::make_shared<CustomTeam>(); team = std::make_shared<CustomTeam>();
team->team_uuid_ = team_uuid; team->team_uuid_ = team_uuid;
team->is_view_ = is_view ? true : false;
uuid_hash_[team->team_uuid_] = team; uuid_hash_[team->team_uuid_] = team;
} }
for (int ii = 0; ii < member_list->Size(); ++ii) { for (int ii = 0; ii < member_list->Size(); ++ii) {

View File

@ -12,3 +12,8 @@ void CustomMember::Join(Player* hum)
joined_ = true; joined_ = true;
join_time_ = Global::g_nowtime; join_time_ = Global::g_nowtime;
} }
bool CustomMember::IsView()
{
return team_->IsView();
}

View File

@ -11,7 +11,7 @@ class CustomMember
CustomTeam* GetTeam() { return team_; } CustomTeam* GetTeam() { return team_; }
bool IsJoined() { return joined_; } bool IsJoined() { return joined_; }
int GetJoinTime() { return join_time_; } int GetJoinTime() { return join_time_; }
bool IsViewer() { return is_viewer_; } bool IsView();
const std::string& GetAccountId() { return account_id_; } const std::string& GetAccountId() { return account_id_; }
const std::string& GetSessionId() { return session_id_; } const std::string& GetSessionId() { return session_id_; }
std::shared_ptr<BattleDataContext>& GetNetData() { return battle_context_; }; std::shared_ptr<BattleDataContext>& GetNetData() { return battle_context_; };
@ -20,7 +20,6 @@ class CustomMember
CustomTeam *team_ = nullptr; CustomTeam *team_ = nullptr;
bool joined_ = false; bool joined_ = false;
int join_time_ = 0; int join_time_ = 0;
bool is_viewer_ = false;
std::string account_id_; std::string account_id_;
std::string session_id_; std::string session_id_;
std::shared_ptr<BattleDataContext> battle_context_; std::shared_ptr<BattleDataContext> battle_context_;

View File

@ -7,9 +7,11 @@ class CustomTeam
const std::string& GetTeamUuid() { return team_uuid_; } const std::string& GetTeamUuid() { return team_uuid_; }
std::shared_ptr<CustomMember> GetMember(const std::string& account_id); std::shared_ptr<CustomMember> GetMember(const std::string& account_id);
bool IsView() { return is_view_; }
private: private:
std::string team_uuid_; std::string team_uuid_;
bool is_view_ = false;
std::map<std::string, std::shared_ptr<CustomMember>> member_hash_; std::map<std::string, std::shared_ptr<CustomMember>> member_hash_;
friend class CustomBattle; friend class CustomBattle;
}; };