muffin v7.4.6
This commit is contained in:
parent
bb09805213
commit
1cc65e495d
13 changed files with 1291 additions and 949 deletions
|
|
@ -33,6 +33,8 @@ internal sealed class TerritoryData
|
|||
|
||||
private readonly ImmutableDictionary<uint, ContentFinderConditionData> _contentFinderConditions;
|
||||
|
||||
private readonly ImmutableDictionary<uint, uint> _territoryToContentFinderCondition;
|
||||
|
||||
private readonly ImmutableDictionary<(ElementId QuestId, byte Index), uint> _questBattlesToContentFinderCondition;
|
||||
|
||||
public TerritoryData(IDataManager dataManager)
|
||||
|
|
@ -67,6 +69,9 @@ internal sealed class TerritoryData
|
|||
return flag && x.ContentType.RowId != 6;
|
||||
})
|
||||
select new ContentFinderConditionData(x, dataManager.Language)).ToImmutableDictionary((ContentFinderConditionData x) => x.ContentFinderConditionId, (ContentFinderConditionData x) => x);
|
||||
_territoryToContentFinderCondition = (from x in dataManager.GetExcelSheet<ContentFinderCondition>()
|
||||
where x.RowId != 0 && x.TerritoryType.RowId != 0
|
||||
group x by x.TerritoryType.RowId).ToImmutableDictionary((IGrouping<uint, ContentFinderCondition> g) => g.Key, (IGrouping<uint, ContentFinderCondition> g) => g.First().RowId);
|
||||
_questBattlesToContentFinderCondition = (from x in (from x in dataManager.GetExcelSheet<Quest>()
|
||||
where x.RowId != 0 && x.IssuerLocation.RowId != 0
|
||||
select x).SelectMany(GetQuestBattles)
|
||||
|
|
@ -138,6 +143,11 @@ internal sealed class TerritoryData
|
|||
return false;
|
||||
}
|
||||
|
||||
public bool TryGetContentFinderConditionIdForTerritory(ushort territoryId, out uint cfcId)
|
||||
{
|
||||
return _territoryToContentFinderCondition.TryGetValue(territoryId, out cfcId);
|
||||
}
|
||||
|
||||
public IEnumerable<(ElementId QuestId, byte Index, ContentFinderConditionData Data)> GetAllQuestsWithQuestBattles()
|
||||
{
|
||||
return _questBattlesToContentFinderCondition.Select<KeyValuePair<(ElementId, byte), uint>, (ElementId, byte, ContentFinderConditionData)>((KeyValuePair<(ElementId QuestId, byte Index), uint> x) => (QuestId: x.Key.QuestId, Index: x.Key.Index, _contentFinderConditions[x.Value]));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue