Lobby refactor + species loadouts support (#27576)
* Vox stuff * Species loadouts and lobby refactor The control flow for lobby is all over the shop so I pulled it all up from the individual controls so now they handle the bare minimum required and LobbyUIController handles the rest. * a * Bulk changes * a * weh * Character import / export * finalise * woops this stuff too * Also datafield exporting * comments * Review
This commit is contained in:
@@ -1,6 +1,26 @@
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using Content.Shared.Humanoid.Prototypes;
|
||||
using Robust.Shared.Player;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
namespace Content.Shared.Preferences.Loadouts.Effects;
|
||||
|
||||
public sealed class SpeciesLoadoutEffect
|
||||
public sealed partial class SpeciesLoadoutEffect : LoadoutEffect
|
||||
{
|
||||
|
||||
[DataField(required: true)]
|
||||
public List<ProtoId<SpeciesPrototype>> Species = new();
|
||||
|
||||
public override bool Validate(HumanoidCharacterProfile profile, RoleLoadout loadout, ICommonSession session, IDependencyCollection collection,
|
||||
[NotNullWhen(false)] out FormattedMessage? reason)
|
||||
{
|
||||
if (Species.Contains(profile.Species))
|
||||
{
|
||||
reason = null;
|
||||
return true;
|
||||
}
|
||||
|
||||
reason = FormattedMessage.FromUnformatted(Loc.GetString("loadout-group-species-restriction"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user