1
This commit is contained in:
parent
cb5b2b7837
commit
2dfbb56609
@ -274,6 +274,8 @@ class Human : public Creature
|
|||||||
std::shared_ptr<MobaBattle> p);
|
std::shared_ptr<MobaBattle> p);
|
||||||
const std::shared_ptr<BornPoint> GetBornPoint() { return born_point_; }
|
const std::shared_ptr<BornPoint> GetBornPoint() { return born_point_; }
|
||||||
void SetBornPoint(std::shared_ptr<BornPoint> born_point);
|
void SetBornPoint(std::shared_ptr<BornPoint> born_point);
|
||||||
|
void SendViewerUiNotify();
|
||||||
|
void SendViewerUiMemberUpdate(std::vector<int> member_ids);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void ProcLootWeapon(AddItemDTO& dto);
|
void ProcLootWeapon(AddItemDTO& dto);
|
||||||
|
@ -2151,6 +2151,64 @@ void Human::ReJoin(long ip_saddr, int socket_handle, std::shared_ptr<cs::CMJoin>
|
|||||||
},
|
},
|
||||||
&xtimer_attacher);
|
&xtimer_attacher);
|
||||||
}
|
}
|
||||||
|
SendViewerUiNotify();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Human::SendViewerUiNotify()
|
||||||
|
{
|
||||||
|
if (!IsOb()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
cs::SMViewerUiNotify msg;
|
||||||
|
room->TraverseTeams
|
||||||
|
(
|
||||||
|
[&msg] (Team* team) mutable -> bool
|
||||||
|
{
|
||||||
|
auto team_pb = msg.add_team_list();
|
||||||
|
team_pb->set_team_id(team->GetTeamId());
|
||||||
|
team->TraverseMembers
|
||||||
|
(
|
||||||
|
[team_pb] (Human* hum)
|
||||||
|
{
|
||||||
|
auto m = team_pb->add_members();
|
||||||
|
m->set_team_id(hum->GetTeam()->GetTeamId());
|
||||||
|
m->set_member_uniid(hum->GetUniId());
|
||||||
|
m->set_name(hum->GetName());
|
||||||
|
m->set_avatar_url(hum->avatar_url);
|
||||||
|
m->set_hero_id(hum->meta->id());
|
||||||
|
m->set_head_frame(hum->head_frame);
|
||||||
|
m->set_kills(hum->stats->kills);
|
||||||
|
m->set_dead(hum->dead);
|
||||||
|
m->set_downed(hum->downed);
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
SendNotifyMsg(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Human::SendViewerUiMemberUpdate(std::vector<int> member_ids)
|
||||||
|
{
|
||||||
|
if (!IsOb()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
cs::SMViewerUiMemberUpdate msg;
|
||||||
|
for (int id : member_ids) {
|
||||||
|
Player* hum = room->GetPlayerByUniId(id);
|
||||||
|
if (hum) {
|
||||||
|
auto m = msg.add_members();
|
||||||
|
m->set_team_id(hum->GetTeam()->GetTeamId());
|
||||||
|
m->set_member_uniid(hum->GetUniId());
|
||||||
|
m->set_name(hum->GetName());
|
||||||
|
m->set_avatar_url(hum->avatar_url);
|
||||||
|
m->set_hero_id(hum->meta->id());
|
||||||
|
m->set_head_frame(hum->head_frame);
|
||||||
|
m->set_kills(hum->stats->kills);
|
||||||
|
m->set_dead(hum->dead);
|
||||||
|
m->set_downed(hum->downed);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SendNotifyMsg(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GGListener::SendError(int sockhandle, unsigned int seqid,
|
void GGListener::SendError(int sockhandle, unsigned int seqid,
|
||||||
|
@ -926,6 +926,7 @@ void Player::_CMReconnect(f8::MsgHdr* hdr, const cs::CMReconnect& msg)
|
|||||||
if (!room->game_over_timer.expired()) {
|
if (!room->game_over_timer.expired()) {
|
||||||
room->xtimer.Delete(room->game_over_timer);
|
room->xtimer.Delete(room->game_over_timer);
|
||||||
}
|
}
|
||||||
|
SendViewerUiNotify();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::_CMMove(f8::MsgHdr* hdr, const cs::CMMove& msg)
|
void Player::_CMMove(f8::MsgHdr* hdr, const cs::CMMove& msg)
|
||||||
|
@ -33,3 +33,8 @@ void RoomOb::AddOb(Player* hum)
|
|||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RoomOb::SendViewerUiMemberUpdate(std::vector<int> member_ids)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
@ -14,6 +14,7 @@ class RoomOb : public std::enable_shared_from_this<RoomOb>
|
|||||||
|
|
||||||
Player* GetByAccountId(const std::string& account_id);
|
Player* GetByAccountId(const std::string& account_id);
|
||||||
void AddOb(Player* hum);
|
void AddOb(Player* hum);
|
||||||
|
void SendViewerUiMemberUpdate(std::vector<int> member_ids);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Room* room_ = nullptr;
|
Room* room_ = nullptr;
|
||||||
|
@ -1424,7 +1424,7 @@ message MFViewTeamMember
|
|||||||
message MFViewerTeam
|
message MFViewerTeam
|
||||||
{
|
{
|
||||||
optional int32 team_id = 1; //队伍id
|
optional int32 team_id = 1; //队伍id
|
||||||
repeated MFMobaTeamMember members = 2; //成员列表
|
repeated MFViewTeamMember members = 2; //成员列表
|
||||||
}
|
}
|
||||||
|
|
||||||
//end mfmsg
|
//end mfmsg
|
||||||
|
Loading…
x
Reference in New Issue
Block a user