Core/Conditions: Refactor ConditionMgr internals to get rid of separate containers for some condition source types

Port From (https://github.com/TrinityCore/TrinityCore/commit/0b5406dd882c6d96bc1be6fd0a78375c3b316415)
This commit is contained in:
hondacrx
2024-02-06 09:39:26 -05:00
parent ebcad7dbc5
commit 80936edeab
12 changed files with 292 additions and 383 deletions
+4 -4
View File
@@ -2564,7 +2564,7 @@ namespace Game.Entities
foreach (var gossipMenuItem in menuItemBounds)
{
if (!ConditionMgr.IsObjectMeetToConditions(this, source, gossipMenuItem.Conditions))
if (!gossipMenuItem.Conditions.Meets(this, source))
continue;
bool canTalk = true;
@@ -2889,7 +2889,7 @@ namespace Game.Entities
if (menu.TextId == 0)
continue;
if (ConditionMgr.IsObjectMeetToConditions(this, source, menu.Conditions))
if (menu.Conditions.Meets(this, source))
textId = menu.TextId;
}
@@ -2913,9 +2913,9 @@ namespace Game.Entities
{
var menuBounds = ObjectMgr.GetGossipMenusMapBounds(menuId);
foreach (var itr in menuBounds)
foreach (var menu in menuBounds)
{
if (!ConditionMgr.IsObjectMeetToConditions(this, source, itr.Conditions))
if (!menu.Conditions.Meets(this, source))
continue;
menuIdToShow = menuId;