From ce9408f6f9ca62f0d926a4897f8aa56cef4e6562 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 21 May 2019 12:36:24 +0800 Subject: [PATCH] add wxvoip --- server/gameserver/human.cc | 7 +++++++ server/gameserver/human.h | 1 + server/gameserver/room.cc | 18 ++++++++++++++++++ server/gameserver/room.h | 1 + 4 files changed, 27 insertions(+) diff --git a/server/gameserver/human.cc b/server/gameserver/human.cc index 401d598..978abe4 100644 --- a/server/gameserver/human.cc +++ b/server/gameserver/human.cc @@ -1641,6 +1641,13 @@ void Human::SendUIUpdate() SendNotifyMsg(notifymsg); } +void Human::SendWxVoip() +{ + cs::SMWxVoip notifymsg; + notifymsg.set_group_id(a8::XValue(room->room_uuid).GetString()); + SendNotifyMsg(notifymsg); +} + void Human::ClearFrameData() { if (!new_objects.empty()) { diff --git a/server/gameserver/human.h b/server/gameserver/human.h index 79dfc7a..02d0802 100644 --- a/server/gameserver/human.h +++ b/server/gameserver/human.h @@ -173,6 +173,7 @@ class Human : public Entity void SendRollMsg(const std::string& roll_msg); void UpdateAction(); void SendUIUpdate(); + void SendWxVoip(); private: void ClearFrameData(); diff --git a/server/gameserver/room.cc b/server/gameserver/room.cc index 75c2d44..deddb77 100644 --- a/server/gameserver/room.cc +++ b/server/gameserver/room.cc @@ -830,6 +830,7 @@ void Room::UpdateGas() battle_start_frameno_ = frame_no; xtimer.DeleteTimer(auto_jump_timer_); auto_jump_timer_ = nullptr; + NotifyWxVoip(); } } break; @@ -1191,3 +1192,20 @@ void Room::NotifyUiUpdate() }, &xtimer_attacher.timer_list_); } + +void Room::NotifyWxVoip() +{ + xtimer.AddDeadLineTimerAndAttach(0, + a8::XParams() + .SetSender(this), + [] (const a8::XParams& param) + { + Room* room = (Room*)param.sender.GetUserData(); + room->TouchPlayerList(a8::XParams(), + [] (Player * hum, a8::XParams & param) + { + hum->SendWxVoip(); + }); + }, + &xtimer_attacher.timer_list_); +} diff --git a/server/gameserver/room.h b/server/gameserver/room.h index c84a778..1ed409b 100644 --- a/server/gameserver/room.h +++ b/server/gameserver/room.h @@ -111,6 +111,7 @@ private: void OnGameOver(); void RandRemoveAndroid(); void NotifyUiUpdate(); + void NotifyWxVoip(); private: timer_list* stats_timer_ = nullptr;