From b554d706c9090dbf10c1eac1ec85cea8db1774ec Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 29 Mar 2024 16:18:17 +0800 Subject: [PATCH] 1 --- server/gameserver/mt/InGameVoice.cc | 33 +++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/server/gameserver/mt/InGameVoice.cc b/server/gameserver/mt/InGameVoice.cc index 1de6b9bf..09fbeef5 100644 --- a/server/gameserver/mt/InGameVoice.cc +++ b/server/gameserver/mt/InGameVoice.cc @@ -1,5 +1,7 @@ #include "precompile.h" +#include + #include "mt/InGameVoice.h" IMPL_TABLE(mt::InGameVoice) @@ -9,8 +11,39 @@ int mt::InGameVoice::series_kill_interval = 0; namespace mt { + static InGameVoiceNotifyObject_e ParseNotifyObject(const std::string& type) + { + if (type == "global") { + return InGameVoiceNotifyObject_e::kGlobal; + } else if (type == "killer") { + return InGameVoiceNotifyObject_e::kKiller; + } else if (type == "!killer") { + return InGameVoiceNotifyObject_e::kNoKiller; + } else if (type == "killer_team") { + return InGameVoiceNotifyObject_e::kKillerTeam; + } else if (type == "!killer_team") { + return InGameVoiceNotifyObject_e::kNoKillerTeam; + } else if (type == "dead") { + return InGameVoiceNotifyObject_e::kDead; + } else if (type == "!dead") { + return InGameVoiceNotifyObject_e::kNoDead; + } else if (type == "dead_team") { + return InGameVoiceNotifyObject_e::kDeadTeam; + } else if (type == "!dead_team") { + return InGameVoiceNotifyObject_e::kNoDeadTeam; + } else if (type == "teammate_exclude_dead") { + return InGameVoiceNotifyObject_e::kTeammateExcludeDead; + } else { + A8_ABORT(); + } + } + void InGameVoice::Init1() { + if (a8::GetEnumName(event_type()).empty()) { + A8_ABORT(); + } + _notify_object = ParseNotifyObject(notify_object()); } void InGameVoice::Init2()