Conditional map support (#5868)

Co-authored-by: E F R <602406+Efruit@users.noreply.github.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
This commit is contained in:
Moony
2021-12-23 12:38:14 -06:00
committed by GitHub
parent e2bcf619d1
commit c06ee05461
4 changed files with 39 additions and 1 deletions

View File

@@ -0,0 +1,22 @@
using System.Linq;
using Content.Server.Holiday;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;
using Robust.Shared.Log;
using Robust.Shared.Serialization.Manager.Attributes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List;
namespace Content.Server.Maps.Conditions;
public class HolidayMapCondition : GameMapCondition
{
[DataField("holidays")]
public string[] Holidays { get; } = default!;
public override bool Check(GameMapPrototype map)
{
var holidaySystem = EntitySystem.Get<HolidaySystem>();
return Holidays.Any(holiday => holidaySystem.IsCurrentlyHoliday(holiday)) ^ Inverted;
}
}