Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
GossipMenu Class Reference

#include <GossipDef.h>

Public Member Functions

void AddMenuItem (int32 menuItemId, uint8 icon, std::string const &message, uint32 sender, uint32 action, std::string const &boxMessage, uint32 boxMoney, bool coded=false)
bool Empty () const
GossipMenuItem const * GetItem (uint32 id) const
GossipMenuItemData const * GetItemData (uint32 indexId) const
LocaleConstant GetLocale () const
uint32 GetMenuId () const
uint32 GetMenuItemCount () const
GossipMenuItemContainer const & GetMenuItems () const
 GossipMenu ()
void SetLocale (LocaleConstant locale)
void SetMenuId (uint32 menu_id)
 ~GossipMenu ()
AddMenuItem

Adds a localized gossip menu item from db by menu id and menu item id.

Parameters
menuIdGossip menu id.
menuItemIdGossip menu item id.
senderIdentifier of the current menu.
actionCustom action given to OnGossipHello.
void AddMenuItem (uint32 menuId, uint32 menuItemId, uint32 sender, uint32 action)
void AddGossipMenuItemData (uint32 menuItemId, uint32 gossipActionMenuId, uint32 gossipActionPoi)
uint32 GetMenuItemSender (uint32 menuItemId) const
uint32 GetMenuItemAction (uint32 menuItemId) const
bool IsMenuItemCoded (uint32 menuItemId) const
void ClearMenu ()

Private Attributes

LocaleConstant _locale
uint32 _menuId
GossipMenuItemDataContainer _menuItemData
GossipMenuItemContainer _menuItems

Detailed Description

Definition at line 150 of file GossipDef.h.

Constructor & Destructor Documentation

◆ GossipMenu()

GossipMenu::GossipMenu ( )
inline

Definition at line 153 of file GossipDef.h.

References _locale, _menuId, and LOCALE_enUS.

◆ ~GossipMenu()

GossipMenu::~GossipMenu ( )
inline

Definition at line 154 of file GossipDef.h.

References ClearMenu().

Member Function Documentation

◆ AddGossipMenuItemData()

void GossipMenu::AddGossipMenuItemData ( uint32 menuItemId,
uint32 gossipActionMenuId,
uint32 gossipActionPoi )

◆ AddMenuItem() [1/2]

void GossipMenu::AddMenuItem ( int32 menuItemId,
uint8 icon,
std::string const & message,
uint32 sender,
uint32 action,
std::string const & boxMessage,
uint32 boxMoney,
bool coded = false )

◆ AddMenuItem() [2/2]

void GossipMenu::AddMenuItem ( uint32 menuId,
uint32 menuItemId,
uint32 sender,
uint32 action )

Find items for given menu id.

Return if there are none.

Iterate over each of them.

Find the one with the given menu item id.

Store texts for localization.

Check need of localization.

Find localizations from database.

Translate texts if there are any.

Add menu item with existing method. Menu item id -1 is also used in ADD_GOSSIP_ITEM macro.

Definition at line 53 of file GossipDef.cpp.

References AddMenuItem(), GetLocale(), ObjectMgr::GetLocaleString(), LOCALE_enUS, MAKE_PAIR32(), and sObjectMgr.

◆ ClearMenu()

void GossipMenu::ClearMenu ( )

Definition at line 122 of file GossipDef.cpp.

References _menuItemData, and _menuItems.

Referenced by ~GossipMenu().

◆ Empty()

bool GossipMenu::Empty ( ) const
inline

Definition at line 171 of file GossipDef.h.

References _menuItems.

◆ GetItem()

GossipMenuItem const * GossipMenu::GetItem ( uint32 id) const
inline

Definition at line 176 of file GossipDef.h.

References _menuItems.

Referenced by Player::OnGossipSelect().

◆ GetItemData()

GossipMenuItemData const * GossipMenu::GetItemData ( uint32 indexId) const
inline

Definition at line 185 of file GossipDef.h.

References _menuItemData.

Referenced by Player::OnGossipSelect().

◆ GetLocale()

LocaleConstant GossipMenu::GetLocale ( ) const
inline

Definition at line 162 of file GossipDef.h.

References _locale.

Referenced by AddMenuItem().

◆ GetMenuId()

uint32 GossipMenu::GetMenuId ( ) const
inline

Definition at line 160 of file GossipDef.h.

References _menuId.

Referenced by Player::OnGossipSelect(), and Player::PrepareGossipMenu().

◆ GetMenuItemAction()

uint32 GossipMenu::GetMenuItemAction ( uint32 menuItemId) const

Definition at line 104 of file GossipDef.cpp.

References _menuItems.

◆ GetMenuItemCount()

uint32 GossipMenu::GetMenuItemCount ( ) const
inline

Definition at line 166 of file GossipDef.h.

References _menuItems.

◆ GetMenuItems()

GossipMenuItemContainer const & GossipMenu::GetMenuItems ( ) const
inline

Definition at line 200 of file GossipDef.h.

References _menuItems.

◆ GetMenuItemSender()

uint32 GossipMenu::GetMenuItemSender ( uint32 menuItemId) const

Definition at line 95 of file GossipDef.cpp.

References _menuItems.

◆ IsMenuItemCoded()

bool GossipMenu::IsMenuItemCoded ( uint32 menuItemId) const

Definition at line 113 of file GossipDef.cpp.

References _menuItems.

◆ SetLocale()

void GossipMenu::SetLocale ( LocaleConstant locale)
inline

Definition at line 161 of file GossipDef.h.

References _locale.

◆ SetMenuId()

void GossipMenu::SetMenuId ( uint32 menu_id)
inline

Definition at line 159 of file GossipDef.h.

References _menuId.

Referenced by LuaPlayer::GossipSendMenu(), and Player::PrepareGossipMenu().

Member Data Documentation

◆ _locale

LocaleConstant GossipMenu::_locale
private

Definition at line 209 of file GossipDef.h.

Referenced by GetLocale(), GossipMenu(), and SetLocale().

◆ _menuId

uint32 GossipMenu::_menuId
private

Definition at line 208 of file GossipDef.h.

Referenced by GetMenuId(), GossipMenu(), and SetMenuId().

◆ _menuItemData

GossipMenuItemDataContainer GossipMenu::_menuItemData
private

Definition at line 207 of file GossipDef.h.

Referenced by AddGossipMenuItemData(), ClearMenu(), and GetItemData().

◆ _menuItems


The documentation for this class was generated from the following files: