This commit is contained in:
aozhiwei 2020-06-22 15:14:13 +08:00
parent 605d1f4527
commit 5c2a124cc9
3 changed files with 26 additions and 2 deletions

View File

@ -42,3 +42,5 @@ const char* const EVENT_FRIEND_DELETE = "friend.delete";
const int MAX_INSTANCE_ID = 1023;
const int MAX_FRIEND_NUM = 50;
const int DAILY_JOIN_FRIEND_TIMES = 100;

View File

@ -786,6 +786,11 @@ const std::string Player::AccountId()
return myself.base_data.account_id;
}
int Player::GetFriendNum()
{
return friend_hash_.size();
}
void Player::InternalUpdateUserInfo()
{
ss::SS_IM_UpdateUserInfo ss_msg;
@ -927,6 +932,14 @@ void Player::ProcessEvent()
if (processed_events.size() > 100) {
break;
}
Event& event = pair.second;
if (event.event_name == EVENT_FRIEND_AGREE) {
OnFriendAgreeEvent(event);
DBHelper::Instance()->SetEventStatus(event.idx, AccountId(), 1);
} else if (event.event_name == EVENT_FRIEND_DELETE) {
OnFriendDeleteEvent(event);
DBHelper::Instance()->SetEventStatus(event.idx, AccountId(), 1);
}
processed_events.push_back(pair.first);
}
for (long long event_id : processed_events) {
@ -936,10 +949,18 @@ void Player::ProcessEvent()
void Player::OnFriendAgreeEvent(Event& event)
{
if (GetFriendById(event.sender_id)) {
return;
}
if (GetFriendNum() >= MAX_FRIEND_NUM) {
return;
}
}
void Player::OnFriendDeleteEvent(Event& event)
{
if (!GetFriendById(event.sender_id)) {
return;
}
RemoveFriend(event.sender_id);
}

View File

@ -101,6 +101,7 @@ class Player
void Update(long long tick);
const std::string AccountId();
int GetFriendNum();
private:
void FillFriendList(::google::protobuf::RepeatedPtrField< ::cs::MFUserInfo >* friend_list);