流量优化 team_data
This commit is contained in:
parent
b45c3ed44f
commit
9d5d02883f
@ -272,19 +272,32 @@ long long Human::GetDeadFrameNo(Room* room)
|
||||
return dead_frameno;
|
||||
}
|
||||
|
||||
long long Human::GetRealDeadFrameNo(Room* room)
|
||||
{
|
||||
return real_dead_frameno;
|
||||
}
|
||||
|
||||
void Human::FillMFTeamData(cs::MFTeamData* team_data, bool is_game_over)
|
||||
{
|
||||
{
|
||||
last_sync_teamdata_frameno_ = room->GetFrameNo();
|
||||
|
||||
team_data->set_player_id(GetEntityUniId());
|
||||
team_data->set_name(name);
|
||||
TypeConvert::ToPb(GetPos(), team_data->mutable_pos());
|
||||
TypeConvert::ToPb(attack_dir, team_data->mutable_dir());
|
||||
team_data->set_health(GetHP());
|
||||
team_data->set_max_health(GetMaxHP());
|
||||
team_data->set_disconnected(false);
|
||||
team_data->set_dead(dead);
|
||||
team_data->set_downed(downed);
|
||||
if (!real_dead || room->GetFrameNo() - GetRealDeadFrameNo(room) < 4) {
|
||||
TypeConvert::ToPb(GetPos(), team_data->mutable_pos());
|
||||
TypeConvert::ToPb(attack_dir, team_data->mutable_dir());
|
||||
team_data->set_health(GetHP());
|
||||
team_data->set_max_health(GetMaxHP());
|
||||
team_data->set_dead(dead);
|
||||
team_data->set_downed(downed);
|
||||
}
|
||||
|
||||
if (room->GetGasData().gas_mode != GasInactive &&
|
||||
room->GetFrameNo() - room->GetBattleStartFrameNo() < 4) {
|
||||
team_data->set_name(name);
|
||||
team_data->set_disconnected(socket_handle == 0);
|
||||
}
|
||||
|
||||
if (is_game_over) {
|
||||
team_data->set_account_id(account_id);
|
||||
team_data->set_avatar_url(avatar_url);
|
||||
@ -2394,6 +2407,7 @@ void Human::FindLocationWithTarget(Entity* target)
|
||||
|
||||
void Human::OnDie()
|
||||
{
|
||||
real_dead_frameno_ = room->GetFrameNo();
|
||||
room->OnHumanDie(this);
|
||||
SyncAroundPlayers(__FILE__, __LINE__, __func__);
|
||||
if (team_members) {
|
||||
|
@ -94,6 +94,7 @@ class Human : public MoveableEntity
|
||||
bool aiming = false;
|
||||
bool dead = false;
|
||||
long long dead_frameno = 0;
|
||||
long long real_dead_frameno = 0;
|
||||
|
||||
Weapon default_weapon;
|
||||
Weapon tank_weapon;
|
||||
@ -157,6 +158,7 @@ class Human : public MoveableEntity
|
||||
virtual void GetAabbBox(AabbCollider& aabb_box);
|
||||
virtual bool IsDead(Room* room) override;
|
||||
virtual long long GetDeadFrameNo(Room* room) override;
|
||||
long long GetRealDeadFrameNo(Room* room);
|
||||
void FillMFTeamData(cs::MFTeamData* team_data, bool is_game_over);
|
||||
void Shot(a8::Vec2& target_dir);
|
||||
void TankShot(a8::Vec2& target_dir);
|
||||
|
Loading…
x
Reference in New Issue
Block a user