Update locales_gossip_menu_option to simple system
This commit is contained in:
@@ -558,9 +558,9 @@ namespace Game
|
|||||||
|
|
||||||
foreach (var menu in pMenuBounds)
|
foreach (var menu in pMenuBounds)
|
||||||
{
|
{
|
||||||
if (menu.entry == cond.SourceGroup && menu.text_id == cond.SourceEntry)
|
if (menu.MenuId == cond.SourceGroup && menu.TextId == cond.SourceEntry)
|
||||||
{
|
{
|
||||||
menu.conditions.Add(cond);
|
menu.Conditions.Add(cond);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -574,7 +574,7 @@ namespace Game
|
|||||||
var pMenuItemBounds = Global.ObjectMgr.GetGossipMenuItemsMapBounds(cond.SourceGroup);
|
var pMenuItemBounds = Global.ObjectMgr.GetGossipMenuItemsMapBounds(cond.SourceGroup);
|
||||||
foreach (var menuItems in pMenuItemBounds)
|
foreach (var menuItems in pMenuItemBounds)
|
||||||
{
|
{
|
||||||
if (menuItems.MenuId == cond.SourceGroup && menuItems.OptionIndex == cond.SourceEntry)
|
if (menuItems.MenuId == cond.SourceGroup && menuItems.OptionId == cond.SourceEntry)
|
||||||
{
|
{
|
||||||
menuItems.Conditions.Add(cond);
|
menuItems.Conditions.Add(cond);
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ namespace Game.Misc
|
|||||||
foreach (var item in bounds)
|
foreach (var item in bounds)
|
||||||
{
|
{
|
||||||
// Find the one with the given menu item id.
|
// Find the one with the given menu item id.
|
||||||
if (item.OptionIndex != menuItemId)
|
if (item.OptionId != menuItemId)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
/// Store texts for localization.
|
/// Store texts for localization.
|
||||||
@@ -842,12 +842,12 @@ namespace Game.Misc
|
|||||||
public class GossipMenuItems
|
public class GossipMenuItems
|
||||||
{
|
{
|
||||||
public uint MenuId;
|
public uint MenuId;
|
||||||
public uint OptionIndex;
|
public uint OptionId;
|
||||||
public GossipOptionIcon OptionIcon;
|
public GossipOptionIcon OptionIcon;
|
||||||
public string OptionText;
|
public string OptionText;
|
||||||
public uint OptionBroadcastTextId;
|
public uint OptionBroadcastTextId;
|
||||||
public GossipOption OptionType;
|
public GossipOption OptionType;
|
||||||
public NPCFlags OptionNpcflag;
|
public NPCFlags OptionNpcFlag;
|
||||||
public uint ActionMenuId;
|
public uint ActionMenuId;
|
||||||
public uint ActionPoiId;
|
public uint ActionPoiId;
|
||||||
public bool BoxCoded;
|
public bool BoxCoded;
|
||||||
@@ -875,8 +875,8 @@ namespace Game.Misc
|
|||||||
|
|
||||||
public class GossipMenus
|
public class GossipMenus
|
||||||
{
|
{
|
||||||
public uint entry;
|
public uint MenuId;
|
||||||
public uint text_id;
|
public uint TextId;
|
||||||
public List<Condition> conditions = new List<Condition>();
|
public List<Condition> Conditions = new List<Condition>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2341,7 +2341,7 @@ namespace Game.Entities
|
|||||||
Creature creature = source.ToCreature();
|
Creature creature = source.ToCreature();
|
||||||
if (creature)
|
if (creature)
|
||||||
{
|
{
|
||||||
if (!menuItems.OptionNpcflag.HasAnyFlag(npcflags))
|
if (!menuItems.OptionNpcFlag.HasAnyFlag(npcflags))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
switch (menuItems.OptionType)
|
switch (menuItems.OptionType)
|
||||||
@@ -2439,7 +2439,7 @@ namespace Game.Entities
|
|||||||
if (optionBroadcastText == null)
|
if (optionBroadcastText == null)
|
||||||
{
|
{
|
||||||
// Find localizations from database.
|
// Find localizations from database.
|
||||||
GossipMenuItemsLocale gossipMenuLocale = Global.ObjectMgr.GetGossipMenuItemsLocale(menuId, menuItems.OptionIndex);
|
GossipMenuItemsLocale gossipMenuLocale = Global.ObjectMgr.GetGossipMenuItemsLocale(menuId, menuItems.OptionId);
|
||||||
if (gossipMenuLocale != null)
|
if (gossipMenuLocale != null)
|
||||||
ObjectManager.GetLocaleString(gossipMenuLocale.OptionText, locale, ref strOptionText);
|
ObjectManager.GetLocaleString(gossipMenuLocale.OptionText, locale, ref strOptionText);
|
||||||
}
|
}
|
||||||
@@ -2447,14 +2447,14 @@ namespace Game.Entities
|
|||||||
if (boxBroadcastText == null)
|
if (boxBroadcastText == null)
|
||||||
{
|
{
|
||||||
// Find localizations from database.
|
// Find localizations from database.
|
||||||
GossipMenuItemsLocale gossipMenuLocale = Global.ObjectMgr.GetGossipMenuItemsLocale(menuId, menuItems.OptionIndex);
|
GossipMenuItemsLocale gossipMenuLocale = Global.ObjectMgr.GetGossipMenuItemsLocale(menuId, menuItems.OptionId);
|
||||||
if (gossipMenuLocale != null)
|
if (gossipMenuLocale != null)
|
||||||
ObjectManager.GetLocaleString(gossipMenuLocale.BoxText, locale, ref strBoxText);
|
ObjectManager.GetLocaleString(gossipMenuLocale.BoxText, locale, ref strBoxText);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
menu.GetGossipMenu().AddMenuItem((int)menuItems.OptionIndex, menuItems.OptionIcon, strOptionText, 0, (uint)menuItems.OptionType, strBoxText, menuItems.BoxMoney, menuItems.BoxCoded);
|
menu.GetGossipMenu().AddMenuItem((int)menuItems.OptionId, menuItems.OptionIcon, strOptionText, 0, (uint)menuItems.OptionType, strBoxText, menuItems.BoxMoney, menuItems.BoxCoded);
|
||||||
menu.GetGossipMenu().AddGossipMenuItemData(menuItems.OptionIndex, menuItems.ActionMenuId, menuItems.ActionPoiId, menuItems.TrainerId);
|
menu.GetGossipMenu().AddGossipMenuItemData(menuItems.OptionId, menuItems.ActionMenuId, menuItems.ActionPoiId, menuItems.TrainerId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2620,8 +2620,8 @@ namespace Game.Entities
|
|||||||
|
|
||||||
foreach (var menu in menuBounds)
|
foreach (var menu in menuBounds)
|
||||||
{
|
{
|
||||||
if (Global.ConditionMgr.IsObjectMeetToConditions(this, source, menu.conditions))
|
if (Global.ConditionMgr.IsObjectMeetToConditions(this, source, menu.Conditions))
|
||||||
textId = menu.text_id;
|
textId = menu.TextId;
|
||||||
}
|
}
|
||||||
|
|
||||||
return textId;
|
return textId;
|
||||||
|
|||||||
@@ -595,36 +595,31 @@ namespace Game
|
|||||||
|
|
||||||
gossipMenusStorage.Clear();
|
gossipMenusStorage.Clear();
|
||||||
|
|
||||||
SQLResult result = DB.World.Query("SELECT entry, text_id FROM gossip_menu");
|
SQLResult result = DB.World.Query("SELECT MenuID, TextID FROM gossip_menu");
|
||||||
|
|
||||||
if (result.IsEmpty())
|
if (result.IsEmpty())
|
||||||
{
|
{
|
||||||
Log.outError(LogFilter.ServerLoading, "Loaded 0 gossip_menu entries. DB table `gossip_menu` is empty!");
|
Log.outError(LogFilter.ServerLoading, "Loaded 0 gossip_menu entries. DB table `gossip_menu` is empty!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint count = 0;
|
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
GossipMenus gMenu = new GossipMenus();
|
GossipMenus gMenu = new GossipMenus();
|
||||||
|
|
||||||
gMenu.entry = result.Read<uint>(0);
|
gMenu.MenuId = result.Read<uint>(0);
|
||||||
gMenu.text_id = result.Read<uint>(1);
|
gMenu.TextId = result.Read<uint>(1);
|
||||||
|
|
||||||
if (GetNpcText(gMenu.text_id) == null)
|
if (GetNpcText(gMenu.TextId) == null)
|
||||||
{
|
{
|
||||||
Log.outError(LogFilter.Sql, "Table gossip_menu entry {0} are using non-existing textid {1}", gMenu.entry, gMenu.text_id);
|
Log.outError(LogFilter.Sql, "Table gossip_menu: Id {0} is using non-existing TextId {1}", gMenu.MenuId, gMenu.TextId);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
gossipMenusStorage.Add(gMenu.entry, gMenu);
|
gossipMenusStorage.Add(gMenu.MenuId, gMenu);
|
||||||
|
|
||||||
++count;
|
|
||||||
}
|
}
|
||||||
while (result.NextRow());
|
while (result.NextRow());
|
||||||
|
|
||||||
Log.outInfo(LogFilter.ServerLoading, "Loaded {0} gossip_menu entries in {1} ms", count, Time.GetMSTimeDiffToNow(oldMSTime));
|
Log.outInfo(LogFilter.ServerLoading, "Loaded {0} gossip_menu Ids in {1} ms", gossipMenusStorage.Count, Time.GetMSTimeDiffToNow(oldMSTime));
|
||||||
}
|
}
|
||||||
public void LoadGossipMenuItems()
|
public void LoadGossipMenuItems()
|
||||||
{
|
{
|
||||||
@@ -633,33 +628,32 @@ namespace Game
|
|||||||
gossipMenuItemsStorage.Clear();
|
gossipMenuItemsStorage.Clear();
|
||||||
|
|
||||||
// 0 1 2 3 4 5 6
|
// 0 1 2 3 4 5 6
|
||||||
SQLResult result = DB.World.Query("SELECT o.MenuId, o.OptionIndex, o.OptionIcon, o.OptionText, o.OptionBroadcastTextId, o.OptionType, o.OptionNpcflag, " +
|
SQLResult result = DB.World.Query("SELECT o.MenuID, o.OptionID, o.OptionIcon, o.OptionText, o.OptionBroadcastTextId, o.OptionType, o.OptionNpcflag, " +
|
||||||
// 7 8 9 10 11 12 13
|
// 7 8 9 10 11 12 13
|
||||||
"oa.ActionMenuId, oa.ActionPoiId, ob.BoxCoded, ob.BoxMoney, ob.BoxText, ob.BoxBroadcastTextId, ot.TrainerId " +
|
"oa.ActionMenuID, oa.ActionPoiID, ob.BoxCoded, ob.BoxMoney, ob.BoxText, ob.BoxBroadcastTextId, ot.TrainerId " +
|
||||||
"FROM gossip_menu_option o " +
|
"FROM gossip_menu_option o " +
|
||||||
"LEFT JOIN gossip_menu_option_action oa ON o.MenuId = oa.MenuId AND o.OptionIndex = oa.OptionIndex " +
|
"LEFT JOIN gossip_menu_option_action oa ON o.MenuID = oa.MenuID AND o.OptionID = oa.OptionID " +
|
||||||
"LEFT JOIN gossip_menu_option_box ob ON o.MenuId = ob.MenuId AND o.OptionIndex = ob.OptionIndex " +
|
"LEFT JOIN gossip_menu_option_box ob ON o.MenuID = ob.MenuID AND o.OptionID = ob.OptionID " +
|
||||||
"LEFT JOIN gossip_menu_option_trainer ot ON o.MenuId = ot.MenuId AND o.OptionIndex = ot.OptionIndex " +
|
"LEFT JOIN gossip_menu_option_trainer ot ON o.MenuID = ot.MenuID AND o.OptionID = ot.OptionID " +
|
||||||
"ORDER BY o.MenuId, o.OptionIndex");
|
"ORDER BY o.MenuId, o.OptionID");
|
||||||
|
|
||||||
if (result.IsEmpty())
|
if (result.IsEmpty())
|
||||||
{
|
{
|
||||||
Log.outError(LogFilter.ServerLoading, "Loaded 0 gossip_menu_option entries. DB table `gossip_menu_option` is empty!");
|
Log.outError(LogFilter.ServerLoading, "Loaded 0 gossip_menu_option Ids. DB table `gossip_menu_option` is empty!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint count = 0;
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
GossipMenuItems gMenuItem = new GossipMenuItems();
|
GossipMenuItems gMenuItem = new GossipMenuItems();
|
||||||
|
|
||||||
gMenuItem.MenuId = result.Read<uint>(0);
|
gMenuItem.MenuId = result.Read<uint>(0);
|
||||||
gMenuItem.OptionIndex = result.Read<uint>(1);
|
gMenuItem.OptionId = result.Read<uint>(1);
|
||||||
gMenuItem.OptionIcon = (GossipOptionIcon)result.Read<byte>(2);
|
gMenuItem.OptionIcon = (GossipOptionIcon)result.Read<byte>(2);
|
||||||
gMenuItem.OptionText = result.Read<string>(3);
|
gMenuItem.OptionText = result.Read<string>(3);
|
||||||
gMenuItem.OptionBroadcastTextId = result.Read<uint>(4);
|
gMenuItem.OptionBroadcastTextId = result.Read<uint>(4);
|
||||||
gMenuItem.OptionType = (GossipOption)result.Read<uint>(5);
|
gMenuItem.OptionType = (GossipOption)result.Read<uint>(5);
|
||||||
gMenuItem.OptionNpcflag = (NPCFlags)result.Read<ulong>(6);
|
gMenuItem.OptionNpcFlag = (NPCFlags)result.Read<ulong>(6);
|
||||||
gMenuItem.ActionMenuId = result.Read<uint>(7);
|
gMenuItem.ActionMenuId = result.Read<uint>(7);
|
||||||
gMenuItem.ActionPoiId = result.Read<uint>(8);
|
gMenuItem.ActionPoiId = result.Read<uint>(8);
|
||||||
gMenuItem.BoxCoded = result.Read<bool>(9);
|
gMenuItem.BoxCoded = result.Read<bool>(9);
|
||||||
@@ -670,7 +664,7 @@ namespace Game
|
|||||||
|
|
||||||
if (gMenuItem.OptionIcon >= GossipOptionIcon.Max)
|
if (gMenuItem.OptionIcon >= GossipOptionIcon.Max)
|
||||||
{
|
{
|
||||||
Log.outError(LogFilter.Sql, $"Table gossip_menu_option for MenuId {gMenuItem.MenuId}, OptionIndex {gMenuItem.OptionIndex} has unknown icon id {gMenuItem.OptionIcon}. Replacing with GOSSIPICONCHAT");
|
Log.outError(LogFilter.Sql, $"Table gossip_menu_option for MenuId {gMenuItem.MenuId}, OptionID {gMenuItem.OptionId} has unknown icon id {gMenuItem.OptionIcon}. Replacing with GossipOptionIcon.Chat");
|
||||||
gMenuItem.OptionIcon = GossipOptionIcon.Chat;
|
gMenuItem.OptionIcon = GossipOptionIcon.Chat;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -678,17 +672,17 @@ namespace Game
|
|||||||
{
|
{
|
||||||
if (!CliDB.BroadcastTextStorage.ContainsKey(gMenuItem.OptionBroadcastTextId))
|
if (!CliDB.BroadcastTextStorage.ContainsKey(gMenuItem.OptionBroadcastTextId))
|
||||||
{
|
{
|
||||||
Log.outError(LogFilter.Sql, $"Table `gossip_menu_option` for MenuId {gMenuItem.MenuId}, OptionIndex {gMenuItem.OptionIndex} has non-existing or incompatible OptionBroadcastTextId {gMenuItem.OptionBroadcastTextId}, ignoring.");
|
Log.outError(LogFilter.Sql, $"Table `gossip_menu_option` for MenuId {gMenuItem.MenuId}, OptionID {gMenuItem.OptionId} has non-existing or incompatible OptionBroadcastTextId {gMenuItem.OptionBroadcastTextId}, ignoring.");
|
||||||
gMenuItem.OptionBroadcastTextId = 0;
|
gMenuItem.OptionBroadcastTextId = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gMenuItem.OptionType >= GossipOption.Max)
|
if (gMenuItem.OptionType >= GossipOption.Max)
|
||||||
Log.outError(LogFilter.Sql, $"Table gossip_menu_option for MenuId {gMenuItem.MenuId}, OptionIndex {gMenuItem.OptionIndex} has unknown option id {gMenuItem.OptionType}. Option will not be used");
|
Log.outError(LogFilter.Sql, $"Table gossip_menu_option for MenuId {gMenuItem.MenuId}, OptionID {gMenuItem.OptionId} has unknown option id {gMenuItem.OptionType}. Option will not be used");
|
||||||
|
|
||||||
if (gMenuItem.ActionPoiId != 0 && GetPointOfInterest(gMenuItem.ActionPoiId) == null)
|
if (gMenuItem.ActionPoiId != 0 && GetPointOfInterest(gMenuItem.ActionPoiId) == null)
|
||||||
{
|
{
|
||||||
Log.outError(LogFilter.Sql, $"Table gossip_menu_option for MenuId {gMenuItem.MenuId}, OptionIndex {gMenuItem.OptionIndex} use non-existing actionpoiid {gMenuItem.ActionPoiId}, ignoring");
|
Log.outError(LogFilter.Sql, $"Table gossip_menu_option for MenuId {gMenuItem.MenuId}, OptionID {gMenuItem.OptionId} use non-existing actionpoiid {gMenuItem.ActionPoiId}, ignoring");
|
||||||
gMenuItem.ActionPoiId = 0;
|
gMenuItem.ActionPoiId = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -696,23 +690,21 @@ namespace Game
|
|||||||
{
|
{
|
||||||
if (!CliDB.BroadcastTextStorage.ContainsKey(gMenuItem.BoxBroadcastTextId))
|
if (!CliDB.BroadcastTextStorage.ContainsKey(gMenuItem.BoxBroadcastTextId))
|
||||||
{
|
{
|
||||||
Log.outError(LogFilter.Sql, $"Table `gossip_menu_option` for MenuId {gMenuItem.MenuId}, OptionIndex {gMenuItem.OptionIndex} has non-existing or incompatible BoxBroadcastTextId {gMenuItem.BoxBroadcastTextId}, ignoring.");
|
Log.outError(LogFilter.Sql, $"Table `gossip_menu_option` for MenuId {gMenuItem.MenuId}, OptionID {gMenuItem.OptionId} has non-existing or incompatible BoxBroadcastTextId {gMenuItem.BoxBroadcastTextId}, ignoring.");
|
||||||
gMenuItem.BoxBroadcastTextId = 0;
|
gMenuItem.BoxBroadcastTextId = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gMenuItem.TrainerId != 0 && GetTrainer(gMenuItem.TrainerId) == null)
|
if (gMenuItem.TrainerId != 0 && GetTrainer(gMenuItem.TrainerId) == null)
|
||||||
{
|
{
|
||||||
Log.outError(LogFilter.Sql, $"Table `gossip_menu_option_trainer` for MenuId {gMenuItem.MenuId}, OptionIndex {gMenuItem.OptionIndex} use non-existing TrainerId {gMenuItem.TrainerId}, ignoring");
|
Log.outError(LogFilter.Sql, $"Table `gossip_menu_option_trainer` for MenuId {gMenuItem.MenuId}, OptionID {gMenuItem.OptionId} use non-existing TrainerId {gMenuItem.TrainerId}, ignoring");
|
||||||
gMenuItem.TrainerId = 0;
|
gMenuItem.TrainerId = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
gossipMenuItemsStorage.Add(gMenuItem.MenuId, gMenuItem);
|
gossipMenuItemsStorage.Add(gMenuItem.MenuId, gMenuItem);
|
||||||
++count;
|
|
||||||
|
|
||||||
} while (result.NextRow());
|
} while (result.NextRow());
|
||||||
|
|
||||||
Log.outInfo(LogFilter.ServerLoading, "Loaded {0} gossip_menu_option entries in {1} ms", count, Time.GetMSTimeDiffToNow(oldMSTime));
|
Log.outInfo(LogFilter.ServerLoading, "Loaded {0} gossip_menu_option entries in {1} ms", gossipMenuItemsStorage.Count, Time.GetMSTimeDiffToNow(oldMSTime));
|
||||||
}
|
}
|
||||||
public void LoadPointsOfInterest()
|
public void LoadPointsOfInterest()
|
||||||
{
|
{
|
||||||
@@ -1732,18 +1724,16 @@ namespace Game
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint count = 0;
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
LoadCreatureTemplate(result.GetFields());
|
LoadCreatureTemplate(result.GetFields());
|
||||||
++count;
|
|
||||||
} while (result.NextRow());
|
} while (result.NextRow());
|
||||||
|
|
||||||
// Checking needs to be done after loading because of the difficulty self referencing
|
// Checking needs to be done after loading because of the difficulty self referencing
|
||||||
foreach (var template in creatureTemplateStorage.Values)
|
foreach (var template in creatureTemplateStorage.Values)
|
||||||
CheckCreatureTemplate(template);
|
CheckCreatureTemplate(template);
|
||||||
|
|
||||||
Log.outInfo(LogFilter.ServerLoading, "Loaded {0} creature definitions in {1} ms", count, Time.GetMSTimeDiffToNow(time));
|
Log.outInfo(LogFilter.ServerLoading, "Loaded {0} creature definitions in {1} ms", creatureTemplateStorage.Count, Time.GetMSTimeDiffToNow(time));
|
||||||
}
|
}
|
||||||
public void LoadCreatureTemplate(SQLFields fields)
|
public void LoadCreatureTemplate(SQLFields fields)
|
||||||
{
|
{
|
||||||
@@ -7883,27 +7873,28 @@ namespace Game
|
|||||||
|
|
||||||
_gossipMenuItemsLocaleStorage.Clear(); // need for reload case
|
_gossipMenuItemsLocaleStorage.Clear(); // need for reload case
|
||||||
|
|
||||||
SQLResult result = DB.World.Query("SELECT menu_id, id, option_text_loc1, box_text_loc1, option_text_loc2, box_text_loc2, " +
|
// 0 1 2 3 4
|
||||||
"option_text_loc3, box_text_loc3, option_text_loc4, box_text_loc4, option_text_loc5, box_text_loc5, option_text_loc6, box_text_loc6, " +
|
SQLResult result = DB.World.Query("SELECT MenuID, OptionID, Locale, OptionText, BoxText FROM gossip_menu_option_locale");
|
||||||
"option_text_loc7, box_text_loc7, option_text_loc8, box_text_loc8 FROM locales_gossip_menu_option");
|
|
||||||
|
|
||||||
if (result.IsEmpty())
|
if (result.IsEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
uint menuId = result.Read<ushort>(0);
|
ushort menuId = result.Read<ushort>(0);
|
||||||
uint id = result.Read<ushort>(1);
|
ushort optionId = result.Read<ushort>(1);
|
||||||
|
string localeName = result.Read<string>(2);
|
||||||
|
string optionText = result.Read<string>(3);
|
||||||
|
string boxText = result.Read<string>(4);
|
||||||
|
|
||||||
GossipMenuItemsLocale data = new GossipMenuItemsLocale();
|
GossipMenuItemsLocale data = new GossipMenuItemsLocale();
|
||||||
for (byte i = 1; i < (int)LocaleConstant.OldTotal; ++i)
|
LocaleConstant locale = localeName.ToEnum<LocaleConstant>();
|
||||||
{
|
if (locale == LocaleConstant.enUS)
|
||||||
LocaleConstant locale = (LocaleConstant)i;
|
continue;
|
||||||
AddLocaleString(result.Read<string>(2 + 2 * (i - 1)), locale, data.OptionText);
|
|
||||||
AddLocaleString(result.Read<string>(2 + 2 * (i - 1) + 1), locale, data.BoxText);
|
|
||||||
}
|
|
||||||
|
|
||||||
_gossipMenuItemsLocaleStorage[MathFunctions.MakePair32(menuId, id)] = data;
|
AddLocaleString(optionText, locale, data.OptionText);
|
||||||
|
AddLocaleString(boxText, locale, data.BoxText);
|
||||||
|
|
||||||
|
_gossipMenuItemsLocaleStorage[MathFunctions.MakePair32(menuId, optionId)] = data;
|
||||||
}
|
}
|
||||||
while (result.NextRow());
|
while (result.NextRow());
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user