Content arch (#20107)

Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
This commit is contained in:
metalgearsloth
2023-11-23 14:34:37 +11:00
committed by GitHub
parent 7d2e8c7087
commit 93bd9972f1
33 changed files with 331 additions and 109 deletions

View File

@@ -33,15 +33,15 @@ namespace Content.Server.Administration.Commands
return;
}
var target = new EntityUid(targetId);
var targetNet = new NetEntity(targetId);
if (!target.IsValid() || !_entities.EntityExists(target))
if (!_entities.TryGetEntity(targetNet, out var target))
{
shell.WriteLine(Loc.GetString("shell-invalid-entity-id"));
return;
}
_entities.System<MindSystem>().ControlMob(player.UserId, target);
_entities.System<MindSystem>().ControlMob(player.UserId, target.Value);
}
}
}

View File

@@ -8,6 +8,8 @@ namespace Content.Server.Administration.Commands;
[AdminCommand(AdminFlags.Fun)]
public sealed class OwoifyCommand : IConsoleCommand
{
[Dependency] private readonly IEntityManager _entManager = default!;
public string Command => "owoify";
public string Description => "For when you need everything to be cat. Uses OwOAccent's formatting on the name and description of an entity.";
@@ -22,22 +24,25 @@ public sealed class OwoifyCommand : IConsoleCommand
return;
}
var entityManager = IoCManager.Resolve<IEntityManager>();
if (!int.TryParse(args[0], out var targetId))
{
shell.WriteLine(Loc.GetString("shell-argument-must-be-number"));
return;
}
var eUid = new EntityUid(targetId);
var nent = new NetEntity(targetId);
var meta = entityManager.GetComponent<MetaDataComponent>(eUid);
if (!_entManager.TryGetEntity(nent, out var eUid))
{
return;
}
var owoSys = entityManager.System<OwOAccentSystem>();
var metaDataSys = entityManager.System<MetaDataSystem>();
var meta = _entManager.GetComponent<MetaDataComponent>(eUid.Value);
metaDataSys.SetEntityName(eUid, owoSys.Accentuate(meta.EntityName), meta);
metaDataSys.SetEntityDescription(eUid, owoSys.Accentuate(meta.EntityDescription), meta);
var owoSys = _entManager.System<OwOAccentSystem>();
var metaDataSys = _entManager.System<MetaDataSystem>();
metaDataSys.SetEntityName(eUid.Value, owoSys.Accentuate(meta.EntityName), meta);
metaDataSys.SetEntityDescription(eUid.Value, owoSys.Accentuate(meta.EntityDescription), meta);
}
}

View File

@@ -11,6 +11,7 @@ namespace Content.Server.Administration.Commands
[AdminCommand(AdminFlags.Admin)]
sealed class SetMindCommand : IConsoleCommand
{
[Dependency] private readonly IEntityManager _entManager = default!;
public string Command => "setmind";
@@ -26,7 +27,7 @@ namespace Content.Server.Administration.Commands
return;
}
if (!int.TryParse(args[0], out var entityUid))
if (!int.TryParse(args[0], out var entInt))
{
shell.WriteLine(Loc.GetString("shell-entity-uid-must-be-number"));
return;
@@ -38,17 +39,15 @@ namespace Content.Server.Administration.Commands
ghostOverride = bool.Parse(args[2]);
}
var entityManager = IoCManager.Resolve<IEntityManager>();
var nent = new NetEntity(entInt);
var eUid = new EntityUid(entityUid);
if (!eUid.IsValid() || !entityManager.EntityExists(eUid))
if (!_entManager.TryGetEntity(nent, out var eUid))
{
shell.WriteLine(Loc.GetString("shell-invalid-entity-id"));
return;
}
if (!entityManager.HasComponent<MindContainerComponent>(eUid))
if (!_entManager.HasComponent<MindContainerComponent>(eUid))
{
shell.WriteLine(Loc.GetString("set-mind-command-target-has-no-mind-message"));
return;
@@ -68,8 +67,8 @@ namespace Content.Server.Administration.Commands
return;
}
var mindSystem = entityManager.System<SharedMindSystem>();
var metadata = entityManager.GetComponent<MetaDataComponent>(eUid);
var mindSystem = _entManager.System<SharedMindSystem>();
var metadata = _entManager.GetComponent<MetaDataComponent>(eUid.Value);
var mind = playerCData.Mind ?? mindSystem.CreateMind(session.UserId, metadata.EntityName);

View File

@@ -34,21 +34,21 @@ namespace Content.Server.Administration.Commands
return;
}
if (!int.TryParse(args[0], out var entityUid))
if (!int.TryParse(args[0], out var entInt))
{
shell.WriteLine(Loc.GetString("shell-entity-uid-must-be-number"));
return;
}
var target = new EntityUid(entityUid);
var targetNet = new NetEntity(entInt);
if (!target.IsValid() || !_entities.EntityExists(target))
if (!_entities.TryGetEntity(targetNet, out var target))
{
shell.WriteLine(Loc.GetString("shell-invalid-entity-id"));
return;
}
if (!_entities.HasComponent<InventoryComponent?>(target))
if (!_entities.HasComponent<InventoryComponent>(target))
{
shell.WriteLine(Loc.GetString("shell-target-entity-does-not-have-message", ("missing", "inventory")));
return;
@@ -63,12 +63,12 @@ namespace Content.Server.Administration.Commands
}
var eui = IoCManager.Resolve<EuiManager>();
var ui = new SetOutfitEui(target);
var ui = new SetOutfitEui(targetNet);
eui.OpenEui(ui, player);
return;
}
if (!SetOutfit(target, args[1], _entities))
if (!SetOutfit(target.Value, args[1], _entities))
shell.WriteLine(Loc.GetString("set-outfit-command-invalid-outfit-id-error"));
}

View File

@@ -332,7 +332,7 @@ namespace Content.Server.Administration.Systems
Text = Loc.GetString("set-outfit-verb-get-data-text"),
Category = VerbCategory.Debug,
Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/outfit.svg.192dpi.png")),
Act = () => _euiManager.OpenEui(new SetOutfitEui(args.Target), player),
Act = () => _euiManager.OpenEui(new SetOutfitEui(GetNetEntity(args.Target)), player),
Impact = LogImpact.Medium
};
args.Verbs.Add(verb);

View File

@@ -10,10 +10,9 @@ namespace Content.Server.Administration.UI
public sealed class SetOutfitEui : BaseEui
{
[Dependency] private readonly IAdminManager _adminManager = default!;
[Dependency] private readonly IEntityManager _entManager = default!;
private readonly EntityUid _target;
private readonly NetEntity _target;
public SetOutfitEui(EntityUid entity)
public SetOutfitEui(NetEntity entity)
{
_target = entity;
IoCManager.InjectDependencies(this);
@@ -31,7 +30,7 @@ namespace Content.Server.Administration.UI
{
return new SetOutfitEuiState
{
TargetNetEntity = _entManager.GetNetEntity(_target)
TargetNetEntity = _target,
};
}