From 7f21ebc7d14fa464fc94c48689a652fbd9791baf Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 2 Apr 2019 10:31:52 +0800 Subject: [PATCH] 1 --- server/gameserver/collision.cc | 3 ++- server/gameserver/constant.h | 2 ++ server/gameserver/player.cc | 8 ++++++-- server/gameserver/player.h | 3 ++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/server/gameserver/collision.cc b/server/gameserver/collision.cc index bd71195..0241249 100644 --- a/server/gameserver/collision.cc +++ b/server/gameserver/collision.cc @@ -111,5 +111,6 @@ bool IntersectCircleCircle(Vector2D a_pos, float a_rad, Vector2D b_pos, float b_ bool CircleContainCircle(Vector2D a_pos, float a_rad, Vector2D b_pos, float b_rad) { - return false; + float distance = (a_pos - b_pos).Norm(); + return distance < a_rad - b_rad; } diff --git a/server/gameserver/constant.h b/server/gameserver/constant.h index a46e19b..602581c 100755 --- a/server/gameserver/constant.h +++ b/server/gameserver/constant.h @@ -71,3 +71,5 @@ const int DEF_WEAPON_ID = 12103; const int GAS_INACTIVE_TIME = 1; const int SERVER_FRAME_RATE = 20; const int SYNC_FRAME_RATE = 10; + +const int MAX_INVENTORY_NUM = 14; diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index 0c1f613..eabef33 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -52,6 +52,10 @@ void Player::Initialize() chest_meta = MetaMgr::Instance()->GetEquip(chest); weapon_meta = MetaMgr::Instance()->GetEquip(weapon); RecalcSelfCollider(); + inventory.reserve(MAX_INVENTORY_NUM); + for (size_t i = 0; i < inventory.size(); ++i) { + inventory[i] = 0; + } } void Player::Update(int delta_time) @@ -292,7 +296,7 @@ void Player::_CMVoice(f8::MsgHdr& hdr, const cs::CMVoice& msg) send_func); } -void Player::FillMFPlayerData(cs::MFActivePlayerData* player_data) +void Player::FillMFActivePlayerData(cs::MFActivePlayerData* player_data) { player_data->set_has_action(false); } @@ -352,7 +356,7 @@ void Player::MakeUpdateMsg() } if (updated_times == 0) { update_msg->set_active_player_id(entity_uniid); - FillMFPlayerData(update_msg->mutable_active_player_data()); + FillMFActivePlayerData(update_msg->mutable_active_player_data()); } if (updated_times == 0 || last_sync_gas_frameno < room->gas_data.gas_start_frameno) { last_sync_gas_frameno = room->gas_data.gas_start_frameno; diff --git a/server/gameserver/player.h b/server/gameserver/player.h index 5ef5098..abcb0c0 100644 --- a/server/gameserver/player.h +++ b/server/gameserver/player.h @@ -63,12 +63,13 @@ class Player : public Human void _CMSpectate(f8::MsgHdr& hdr, const cs::CMSpectate& msg); void _CMVoice(f8::MsgHdr& hdr, const cs::CMVoice& msg); - void FillMFPlayerData(cs::MFActivePlayerData* player_data); + void FillMFActivePlayerData(cs::MFActivePlayerData* player_data); void FillMFGasData(cs::MFGasData* gas_data); private: cs::SMUpdate* update_msg = nullptr; long long last_sync_gas_frameno = 0; + std::vector inventory; void MakeUpdateMsg(); };