Files
LuaCsForBarotraumaEP/Barotrauma/BarotraumaShared/SharedSource/ContentManagement/ContentFile/MissionsFile.cs
Markus Isberg 7547a9b78a Build 0.18.0.0
2022-05-13 00:55:52 +09:00

33 lines
1.2 KiB
C#

using System;
using System.Collections.Immutable;
using System.Linq;
using System.Reflection;
using System.Xml.Linq;
namespace Barotrauma
{
[RequiredByCorePackage]
sealed class MissionsFile : GenericPrefabFile<MissionPrefab>
{
/*private readonly static ImmutableHashSet<Type> missionTypes;
static MissionsFile()
{
missionTypes = ReflectionUtils.GetDerivedNonAbstract<Mission>()
.ToImmutableHashSet();
}*/
public MissionsFile(ContentPackage contentPackage, ContentPath path) : base(contentPackage, path) { }
protected override bool MatchesSingular(Identifier identifier)
=> !MatchesPlural(identifier);
/*missionTypes.Any(t => identifier == t.Name)
|| identifier == "OutpostDestroyMission" || identifier == "OutpostRescueMission";*/
protected override bool MatchesPlural(Identifier identifier) => identifier == "missions";
protected override PrefabCollection<MissionPrefab> Prefabs => MissionPrefab.Prefabs;
protected override MissionPrefab CreatePrefab(ContentXElement element)
{
return new MissionPrefab(element, this);
}
}
}