From 35fd26271d6d389a52f382d1fc6be435c3d5636c Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 8 Apr 2019 14:35:55 +0800 Subject: [PATCH] 1 --- server/gameserver/player.cc | 11 +++++++++++ server/gameserver/player.h | 3 +++ 2 files changed, 14 insertions(+) diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index bcace50..835c801 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -72,6 +72,9 @@ void Player::Update(int delta_time) if (action_type != AT_None) { UpdateAction(); } + if (spectate) { + UpdateSpectate(); + } MakeUpdateMsg(); SendNotifyMsg(*update_msg); { @@ -249,6 +252,11 @@ void Player::UpdateUseItemIdx() use_item = false; } +void Player::UpdateSpectate() +{ + spectate = false; +} + void Player::Shot() { if (!curr_weapon->meta) { @@ -590,6 +598,9 @@ void Player::_CMMove(f8::MsgHdr& hdr, const cs::CMMove& msg) use_item = true; use_item_idx = msg.use_item_idx(); } + if (msg.has_spectate()) { + spectate = true; + } } void Player::UpdateDropWeapon() diff --git a/server/gameserver/player.h b/server/gameserver/player.h index e156520..25c58ba 100644 --- a/server/gameserver/player.h +++ b/server/gameserver/player.h @@ -55,6 +55,8 @@ class Player : public Human bool reload = false; + bool spectate = false; + ::google::protobuf::RepeatedField< ::google::protobuf::int32 > interaction_objids; template @@ -76,6 +78,7 @@ class Player : public Human void UpdateReload(); void UpdateCancelAction(); void UpdateUseItemIdx(); + void UpdateSpectate(); void Shot(); void ProcInteraction(); void ObstacleInteraction(Obstacle* entity);