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:
22
Content.Server/Maps/Conditions/HolidayMapCondition.cs
Normal file
22
Content.Server/Maps/Conditions/HolidayMapCondition.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user