Core/Gossip: Move setting ActionMenuID and ActionPoiID directly into GossipMenu::AddMenuItem and remove GossipMenu::AddGossipMenuItemData

This commit is contained in:
Shauren
2022-12-28 15:17:21 +01:00
parent 5d8d847223
commit c7e89d3576
3 changed files with 10 additions and 18 deletions

View File

@@ -42,13 +42,13 @@ void ClearGossipMenuFor(Player* player)
// Using provided text, not from DB
void AddGossipItemFor(Player* player, GossipOptionNpc optionNpc, std::string text, uint32 sender, uint32 action)
{
player->PlayerTalkClass->GetGossipMenu().AddMenuItem(0, -1, optionNpc, std::move(text), 0, GossipOptionFlags::None, {}, false, 0, "", {}, {}, sender, action);
player->PlayerTalkClass->GetGossipMenu().AddMenuItem(0, -1, optionNpc, std::move(text), 0, GossipOptionFlags::None, {}, 0, 0, false, 0, "", {}, {}, sender, action);
}
// Using provided texts, not from DB
void AddGossipItemFor(Player* player, GossipOptionNpc optionNpc, std::string text, uint32 sender, uint32 action, std::string popupText, uint32 popupMoney, bool coded)
{
player->PlayerTalkClass->GetGossipMenu().AddMenuItem(0, -1, optionNpc, std::move(text), 0, GossipOptionFlags::None, {}, coded, popupMoney, std::move(popupText), {}, {}, sender, action);
player->PlayerTalkClass->GetGossipMenu().AddMenuItem(0, -1, optionNpc, std::move(text), 0, GossipOptionFlags::None, {}, 0, 0, coded, popupMoney, std::move(popupText), {}, {}, sender, action);
}
// Uses gossip item info from DB

View File

@@ -41,8 +41,8 @@ GossipMenu::GossipMenu()
GossipMenu::~GossipMenu() = default;
uint32 GossipMenu::AddMenuItem(int32 gossipOptionId, int32 orderIndex, GossipOptionNpc optionNpc, std::string optionText, uint32 language,
GossipOptionFlags flags, Optional<int32> gossipNpcOptionId, bool boxCoded, uint32 boxMoney, std::string boxText, Optional<int32> spellId,
Optional<int32> overrideIconId, uint32 sender, uint32 action)
GossipOptionFlags flags, Optional<int32> gossipNpcOptionId, uint32 actionMenuId, uint32 actionPoiId, bool boxCoded, uint32 boxMoney,
std::string boxText, Optional<int32> spellId, Optional<int32> overrideIconId, uint32 sender, uint32 action)
{
ASSERT(_menuItems.size() <= GOSSIP_MAX_MENU_ITEMS);
@@ -95,6 +95,8 @@ uint32 GossipMenu::AddMenuItem(int32 gossipOptionId, int32 orderIndex, GossipOpt
menuItem.BoxText = std::move(boxText);
menuItem.SpellID = spellId;
menuItem.OverrideIconID = overrideIconId;
menuItem.ActionMenuID = actionMenuId;
menuItem.ActionPoiID = actionPoiId;
menuItem.Sender = sender;
menuItem.Action = action;
return orderIndex;
@@ -159,16 +161,8 @@ void GossipMenu::AddMenuItem(GossipMenuItems const& menuItem, uint32 sender, uin
}
AddMenuItem(menuItem.GossipOptionID, menuItem.OrderIndex, menuItem.OptionNpc, std::move(strOptionText), menuItem.Language, menuItem.Flags,
menuItem.GossipNpcOptionID, menuItem.BoxCoded, menuItem.BoxMoney, std::move(strBoxText), menuItem.SpellID, menuItem.OverrideIconID, sender, action);
AddGossipMenuItemData(menuItem.OrderIndex, menuItem.ActionMenuID, menuItem.ActionPoiID);
}
void GossipMenu::AddGossipMenuItemData(uint32 menuItemId, uint32 gossipActionMenuId, uint32 gossipActionPoi)
{
GossipMenuItem& menuItem = _menuItems[menuItemId];
menuItem.ActionMenuID = gossipActionMenuId;
menuItem.ActionPoiID = gossipActionPoi;
menuItem.GossipNpcOptionID, menuItem.ActionMenuID, menuItem.ActionPoiID, menuItem.BoxCoded, menuItem.BoxMoney, std::move(strBoxText),
menuItem.SpellID, menuItem.OverrideIconID, sender, action);
}
GossipMenuItem const* GossipMenu::GetItem(int32 gossipOptionId) const

View File

@@ -157,8 +157,8 @@ class TC_GAME_API GossipMenu
~GossipMenu();
uint32 AddMenuItem(int32 gossipOptionId, int32 orderIndex, GossipOptionNpc optionNpc, std::string optionText, uint32 language, GossipOptionFlags flags,
Optional<int32> gossipNpcOptionId, bool boxCoded, uint32 boxMoney, std::string boxText, Optional<int32> spellId,
Optional<int32> overrideIconId, uint32 sender, uint32 action);
Optional<int32> gossipNpcOptionId, uint32 actionMenuId, uint32 actionPoiId, bool boxCoded, uint32 boxMoney,
std::string boxText, Optional<int32> spellId, Optional<int32> overrideIconId, uint32 sender, uint32 action);
void AddMenuItem(uint32 menuId, uint32 menuItemId, uint32 sender, uint32 action);
void AddMenuItem(GossipMenuItems const& menuItem, uint32 sender, uint32 action);
@@ -167,8 +167,6 @@ class TC_GAME_API GossipMenu
void SetLocale(LocaleConstant locale) { _locale = locale; }
LocaleConstant GetLocale() const { return _locale; }
void AddGossipMenuItemData(uint32 menuItemId, uint32 gossipActionMenuId, uint32 gossipActionPoi);
uint32 GetMenuItemCount() const
{
return _menuItems.size();