using System; using System.Collections.Immutable; using System.Linq; using System.Reflection; using System.Xml.Linq; namespace Barotrauma { [RequiredByCorePackage] sealed class MissionsFile : GenericPrefabFile { /*private readonly static ImmutableHashSet missionTypes; static MissionsFile() { missionTypes = ReflectionUtils.GetDerivedNonAbstract() .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 Prefabs => MissionPrefab.Prefabs; protected override MissionPrefab CreatePrefab(ContentXElement element) { return new MissionPrefab(element, this); } } }