Replace EntityUid parsing with NetEntity (#23474)
* Replace EntityUid parsing with NetEntity * fix * Other changes required for arch * And anothher
This commit is contained in:
@@ -33,15 +33,15 @@ namespace Content.Server.Administration.Commands
|
|||||||
return;
|
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"));
|
shell.WriteLine(Loc.GetString("shell-invalid-entity-id"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
_entities.System<MindSystem>().ControlMob(player.UserId, target);
|
_entities.System<MindSystem>().ControlMob(player.UserId, target.Value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ namespace Content.Server.Administration.Commands;
|
|||||||
[AdminCommand(AdminFlags.Fun)]
|
[AdminCommand(AdminFlags.Fun)]
|
||||||
public sealed class OwoifyCommand : IConsoleCommand
|
public sealed class OwoifyCommand : IConsoleCommand
|
||||||
{
|
{
|
||||||
|
[Dependency] private readonly IEntityManager _entManager = default!;
|
||||||
|
|
||||||
public string Command => "owoify";
|
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.";
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var entityManager = IoCManager.Resolve<IEntityManager>();
|
|
||||||
|
|
||||||
if (!int.TryParse(args[0], out var targetId))
|
if (!int.TryParse(args[0], out var targetId))
|
||||||
{
|
{
|
||||||
shell.WriteLine(Loc.GetString("shell-argument-must-be-number"));
|
shell.WriteLine(Loc.GetString("shell-argument-must-be-number"));
|
||||||
return;
|
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 meta = _entManager.GetComponent<MetaDataComponent>(eUid.Value);
|
||||||
var metaDataSys = entityManager.System<MetaDataSystem>();
|
|
||||||
|
|
||||||
metaDataSys.SetEntityName(eUid, owoSys.Accentuate(meta.EntityName), meta);
|
var owoSys = _entManager.System<OwOAccentSystem>();
|
||||||
metaDataSys.SetEntityDescription(eUid, owoSys.Accentuate(meta.EntityDescription), meta);
|
var metaDataSys = _entManager.System<MetaDataSystem>();
|
||||||
|
|
||||||
|
metaDataSys.SetEntityName(eUid.Value, owoSys.Accentuate(meta.EntityName), meta);
|
||||||
|
metaDataSys.SetEntityDescription(eUid.Value, owoSys.Accentuate(meta.EntityDescription), meta);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ namespace Content.Server.Administration.Commands
|
|||||||
[AdminCommand(AdminFlags.Admin)]
|
[AdminCommand(AdminFlags.Admin)]
|
||||||
sealed class SetMindCommand : IConsoleCommand
|
sealed class SetMindCommand : IConsoleCommand
|
||||||
{
|
{
|
||||||
|
[Dependency] private readonly IEntityManager _entManager = default!;
|
||||||
|
|
||||||
public string Command => "setmind";
|
public string Command => "setmind";
|
||||||
|
|
||||||
@@ -26,7 +27,7 @@ namespace Content.Server.Administration.Commands
|
|||||||
return;
|
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"));
|
shell.WriteLine(Loc.GetString("shell-entity-uid-must-be-number"));
|
||||||
return;
|
return;
|
||||||
@@ -38,17 +39,15 @@ namespace Content.Server.Administration.Commands
|
|||||||
ghostOverride = bool.Parse(args[2]);
|
ghostOverride = bool.Parse(args[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
var entityManager = IoCManager.Resolve<IEntityManager>();
|
var nent = new NetEntity(entInt);
|
||||||
|
|
||||||
var eUid = new EntityUid(entityUid);
|
if (!_entManager.TryGetEntity(nent, out var eUid))
|
||||||
|
|
||||||
if (!eUid.IsValid() || !entityManager.EntityExists(eUid))
|
|
||||||
{
|
{
|
||||||
shell.WriteLine(Loc.GetString("shell-invalid-entity-id"));
|
shell.WriteLine(Loc.GetString("shell-invalid-entity-id"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!entityManager.HasComponent<MindContainerComponent>(eUid))
|
if (!_entManager.HasComponent<MindContainerComponent>(eUid))
|
||||||
{
|
{
|
||||||
shell.WriteLine(Loc.GetString("set-mind-command-target-has-no-mind-message"));
|
shell.WriteLine(Loc.GetString("set-mind-command-target-has-no-mind-message"));
|
||||||
return;
|
return;
|
||||||
@@ -68,8 +67,8 @@ namespace Content.Server.Administration.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var mindSystem = entityManager.System<SharedMindSystem>();
|
var mindSystem = _entManager.System<SharedMindSystem>();
|
||||||
var metadata = entityManager.GetComponent<MetaDataComponent>(eUid);
|
var metadata = _entManager.GetComponent<MetaDataComponent>(eUid.Value);
|
||||||
|
|
||||||
var mind = playerCData.Mind ?? mindSystem.CreateMind(session.UserId, metadata.EntityName);
|
var mind = playerCData.Mind ?? mindSystem.CreateMind(session.UserId, metadata.EntityName);
|
||||||
|
|
||||||
|
|||||||
@@ -34,21 +34,21 @@ namespace Content.Server.Administration.Commands
|
|||||||
return;
|
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"));
|
shell.WriteLine(Loc.GetString("shell-entity-uid-must-be-number"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var target = new EntityUid(entityUid);
|
var nent = new NetEntity(entInt);
|
||||||
|
|
||||||
if (!target.IsValid() || !_entities.EntityExists(target))
|
if (!_entities.TryGetEntity(nent, out var target))
|
||||||
{
|
{
|
||||||
shell.WriteLine(Loc.GetString("shell-invalid-entity-id"));
|
shell.WriteLine(Loc.GetString("shell-invalid-entity-id"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!_entities.HasComponent<InventoryComponent?>(target))
|
if (!_entities.HasComponent<InventoryComponent>(target))
|
||||||
{
|
{
|
||||||
shell.WriteLine(Loc.GetString("shell-target-entity-does-not-have-message", ("missing", "inventory")));
|
shell.WriteLine(Loc.GetString("shell-target-entity-does-not-have-message", ("missing", "inventory")));
|
||||||
return;
|
return;
|
||||||
@@ -63,12 +63,12 @@ namespace Content.Server.Administration.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
var eui = IoCManager.Resolve<EuiManager>();
|
var eui = IoCManager.Resolve<EuiManager>();
|
||||||
var ui = new SetOutfitEui(target);
|
var ui = new SetOutfitEui(nent);
|
||||||
eui.OpenEui(ui, player);
|
eui.OpenEui(ui, player);
|
||||||
return;
|
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"));
|
shell.WriteLine(Loc.GetString("set-outfit-command-invalid-outfit-id-error"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -385,7 +385,7 @@ namespace Content.Server.Administration.Systems
|
|||||||
Text = Loc.GetString("set-outfit-verb-get-data-text"),
|
Text = Loc.GetString("set-outfit-verb-get-data-text"),
|
||||||
Category = VerbCategory.Debug,
|
Category = VerbCategory.Debug,
|
||||||
Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/outfit.svg.192dpi.png")),
|
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
|
Impact = LogImpact.Medium
|
||||||
};
|
};
|
||||||
args.Verbs.Add(verb);
|
args.Verbs.Add(verb);
|
||||||
|
|||||||
@@ -10,10 +10,9 @@ namespace Content.Server.Administration.UI
|
|||||||
public sealed class SetOutfitEui : BaseEui
|
public sealed class SetOutfitEui : BaseEui
|
||||||
{
|
{
|
||||||
[Dependency] private readonly IAdminManager _adminManager = default!;
|
[Dependency] private readonly IAdminManager _adminManager = default!;
|
||||||
[Dependency] private readonly IEntityManager _entManager = default!;
|
private readonly NetEntity _target;
|
||||||
private readonly EntityUid _target;
|
|
||||||
|
|
||||||
public SetOutfitEui(EntityUid entity)
|
public SetOutfitEui(NetEntity entity)
|
||||||
{
|
{
|
||||||
_target = entity;
|
_target = entity;
|
||||||
IoCManager.InjectDependencies(this);
|
IoCManager.InjectDependencies(this);
|
||||||
@@ -31,7 +30,7 @@ namespace Content.Server.Administration.UI
|
|||||||
{
|
{
|
||||||
return new SetOutfitEuiState
|
return new SetOutfitEuiState
|
||||||
{
|
{
|
||||||
TargetNetEntity = _entManager.GetNetEntity(_target)
|
TargetNetEntity = _target,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -31,13 +31,13 @@ internal sealed class UpgradeActionCommand : IConsoleCommand
|
|||||||
var actionUpgrade = _entMan.EntitySysManager.GetEntitySystem<ActionUpgradeSystem>();
|
var actionUpgrade = _entMan.EntitySysManager.GetEntitySystem<ActionUpgradeSystem>();
|
||||||
var id = args[0];
|
var id = args[0];
|
||||||
|
|
||||||
if (!EntityUid.TryParse(id, out var uid))
|
if (!NetEntity.TryParse(id, out var nuid))
|
||||||
{
|
{
|
||||||
shell.WriteLine(Loc.GetString("upgradeaction-command-incorrect-entityuid-format"));
|
shell.WriteLine(Loc.GetString("upgradeaction-command-incorrect-entityuid-format"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!_entMan.EntityExists(uid))
|
if (!_entMan.TryGetEntity(nuid, out var uid))
|
||||||
{
|
{
|
||||||
shell.WriteLine(Loc.GetString("upgradeaction-command-entity-does-not-exist"));
|
shell.WriteLine(Loc.GetString("upgradeaction-command-entity-does-not-exist"));
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -52,7 +52,8 @@ public sealed class RandomHumanoidSystem : EntitySystem
|
|||||||
{
|
{
|
||||||
var comp = (Component) _serialization.CreateCopy(entry.Component, notNullableOverride: true);
|
var comp = (Component) _serialization.CreateCopy(entry.Component, notNullableOverride: true);
|
||||||
comp.Owner = humanoid; // This .owner must survive for now.
|
comp.Owner = humanoid; // This .owner must survive for now.
|
||||||
EntityManager.AddComponent(humanoid, comp, true);
|
EntityManager.RemoveComponent(humanoid, comp.GetType());
|
||||||
|
EntityManager.AddComponent(humanoid, comp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,8 @@ namespace Content.Server.Jobs
|
|||||||
|
|
||||||
var temp = (object) component;
|
var temp = (object) component;
|
||||||
serializationManager.CopyTo(data.Component, ref temp);
|
serializationManager.CopyTo(data.Component, ref temp);
|
||||||
entityManager.AddComponent(mob, (Component) temp!, true);
|
entityManager.RemoveComponent(mob, temp!.GetType());
|
||||||
|
entityManager.AddComponent(mob, (Component) temp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,11 +24,11 @@ namespace Content.Server.NPC.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var entId = new EntityUid(int.Parse(args[0]));
|
var nent = new NetEntity(int.Parse(args[0]));
|
||||||
|
|
||||||
if (!_entities.EntityExists(entId))
|
if (!_entities.TryGetEntity(nent, out var entId))
|
||||||
{
|
{
|
||||||
shell.WriteError($"Unable to find entity with uid {entId}");
|
shell.WriteError($"Unable to find entity {nent}");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -38,7 +38,7 @@ namespace Content.Server.NPC.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var comp = _entities.AddComponent<HTNComponent>(entId);
|
var comp = _entities.AddComponent<HTNComponent>(entId.Value);
|
||||||
comp.RootTask = new HTNCompoundTask()
|
comp.RootTask = new HTNCompoundTask()
|
||||||
{
|
{
|
||||||
Task = args[1]
|
Task = args[1]
|
||||||
|
|||||||
@@ -11,6 +11,9 @@ namespace Content.Server.Sandbox.Commands
|
|||||||
[AnyCommand]
|
[AnyCommand]
|
||||||
public sealed class ColorNetworkCommand : IConsoleCommand
|
public sealed class ColorNetworkCommand : IConsoleCommand
|
||||||
{
|
{
|
||||||
|
[Dependency] private readonly IAdminManager _adminManager = default!;
|
||||||
|
[Dependency] private readonly IEntityManager _entManager = default!;
|
||||||
|
|
||||||
public string Command => "colornetwork";
|
public string Command => "colornetwork";
|
||||||
public string Description => Loc.GetString("color-network-command-description");
|
public string Description => Loc.GetString("color-network-command-description");
|
||||||
public string Help => Loc.GetString("color-network-command-help-text", ("command",Command));
|
public string Help => Loc.GetString("color-network-command-help-text", ("command",Command));
|
||||||
@@ -30,25 +33,21 @@ namespace Content.Server.Sandbox.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var entityManager = IoCManager.Resolve<IEntityManager>();
|
|
||||||
|
|
||||||
if (!int.TryParse(args[0], out var targetId))
|
if (!int.TryParse(args[0], out var targetId))
|
||||||
{
|
{
|
||||||
shell.WriteLine(Loc.GetString("shell-argument-must-be-number"));
|
shell.WriteLine(Loc.GetString("shell-argument-must-be-number"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var eUid = new EntityUid(targetId);
|
var nent = new NetEntity(targetId);
|
||||||
|
|
||||||
if (!eUid.IsValid() || !entityManager.EntityExists(eUid))
|
if (!_entManager.TryGetEntity(nent, out var eUid))
|
||||||
{
|
{
|
||||||
shell.WriteLine(Loc.GetString("shell-invalid-entity-id"));
|
shell.WriteLine(Loc.GetString("shell-invalid-entity-id"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!entityManager.TryGetComponent(eUid, out NodeContainerComponent? nodeContainerComponent))
|
if (!_entManager.TryGetComponent(eUid, out NodeContainerComponent? nodeContainerComponent))
|
||||||
{
|
{
|
||||||
shell.WriteLine(Loc.GetString("shell-entity-is-not-node-container"));
|
shell.WriteLine(Loc.GetString("shell-entity-is-not-node-container"));
|
||||||
return;
|
return;
|
||||||
@@ -74,13 +73,15 @@ namespace Content.Server.Sandbox.Commands
|
|||||||
{
|
{
|
||||||
var group = nodeContainerComponent.Nodes[nodeGroupId.ToString().ToLower()].NodeGroup;
|
var group = nodeContainerComponent.Nodes[nodeGroupId.ToString().ToLower()].NodeGroup;
|
||||||
|
|
||||||
if (group == null) return;
|
if (group == null)
|
||||||
|
return;
|
||||||
|
|
||||||
foreach (var x in group.Nodes)
|
foreach (var x in group.Nodes)
|
||||||
{
|
{
|
||||||
if (!IoCManager.Resolve<IEntityManager>().TryGetComponent(x.Owner, out AtmosPipeColorComponent? atmosPipeColorComponent)) continue;
|
if (!_entManager.TryGetComponent(x.Owner, out AtmosPipeColorComponent? atmosPipeColorComponent))
|
||||||
|
continue;
|
||||||
|
|
||||||
EntitySystem.Get<AtmosPipeColorSystem>().SetColor(x.Owner, atmosPipeColorComponent, color);
|
_entManager.System<AtmosPipeColorSystem>().SetColor(x.Owner, atmosPipeColorComponent, color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,10 @@ namespace Content.Server.Traitor.Uplink.Commands
|
|||||||
[AdminCommand(AdminFlags.Admin)]
|
[AdminCommand(AdminFlags.Admin)]
|
||||||
public sealed class AddUplinkCommand : IConsoleCommand
|
public sealed class AddUplinkCommand : IConsoleCommand
|
||||||
{
|
{
|
||||||
|
[Dependency] private readonly IConfigurationManager _cfgManager = default!;
|
||||||
|
[Dependency] private readonly IEntityManager _entManager = default!;
|
||||||
|
[Dependency] private readonly IPlayerManager _playerManager = default!;
|
||||||
|
|
||||||
public string Command => "adduplink";
|
public string Command => "adduplink";
|
||||||
|
|
||||||
public string Description => Loc.GetString("add-uplink-command-description");
|
public string Description => Loc.GetString("add-uplink-command-description");
|
||||||
@@ -41,7 +45,7 @@ namespace Content.Server.Traitor.Uplink.Commands
|
|||||||
if (args.Length > 0)
|
if (args.Length > 0)
|
||||||
{
|
{
|
||||||
// Get player entity
|
// Get player entity
|
||||||
if (!IoCManager.Resolve<IPlayerManager>().TryGetSessionByUsername(args[0], out session))
|
if (!_playerManager.TryGetSessionByUsername(args[0], out session))
|
||||||
{
|
{
|
||||||
shell.WriteLine(Loc.GetString("shell-target-player-does-not-exist"));
|
shell.WriteLine(Loc.GetString("shell-target-player-does-not-exist"));
|
||||||
return;
|
return;
|
||||||
@@ -60,7 +64,6 @@ namespace Content.Server.Traitor.Uplink.Commands
|
|||||||
|
|
||||||
// Get target item
|
// Get target item
|
||||||
EntityUid? uplinkEntity = null;
|
EntityUid? uplinkEntity = null;
|
||||||
var entityManager = IoCManager.Resolve<IEntityManager>();
|
|
||||||
if (args.Length >= 2)
|
if (args.Length >= 2)
|
||||||
{
|
{
|
||||||
if (!int.TryParse(args[1], out var itemID))
|
if (!int.TryParse(args[1], out var itemID))
|
||||||
@@ -69,8 +72,9 @@ namespace Content.Server.Traitor.Uplink.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var eUid = new EntityUid(itemID);
|
var eNet = new NetEntity(itemID);
|
||||||
if (!eUid.IsValid() || !entityManager.EntityExists(eUid))
|
|
||||||
|
if (!_entManager.TryGetEntity(eNet, out var eUid))
|
||||||
{
|
{
|
||||||
shell.WriteLine(Loc.GetString("shell-invalid-entity-id"));
|
shell.WriteLine(Loc.GetString("shell-invalid-entity-id"));
|
||||||
return;
|
return;
|
||||||
@@ -80,11 +84,10 @@ namespace Content.Server.Traitor.Uplink.Commands
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get TC count
|
// Get TC count
|
||||||
var configManager = IoCManager.Resolve<IConfigurationManager>();
|
var tcCount = _cfgManager.GetCVar(CCVars.TraitorStartingBalance);
|
||||||
var tcCount = configManager.GetCVar(CCVars.TraitorStartingBalance);
|
Logger.Debug(_entManager.ToPrettyString(user));
|
||||||
Logger.Debug(entityManager.ToPrettyString(user));
|
|
||||||
// Finally add uplink
|
// Finally add uplink
|
||||||
var uplinkSys = entityManager.EntitySysManager.GetEntitySystem<UplinkSystem>();
|
var uplinkSys = _entManager.System<UplinkSystem>();
|
||||||
if (!uplinkSys.AddUplink(user, FixedPoint2.New(tcCount), uplinkEntity: uplinkEntity))
|
if (!uplinkSys.AddUplink(user, FixedPoint2.New(tcCount), uplinkEntity: uplinkEntity))
|
||||||
{
|
{
|
||||||
shell.WriteLine(Loc.GetString("add-uplink-command-error-2"));
|
shell.WriteLine(Loc.GetString("add-uplink-command-error-2"));
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ namespace Content.Server.Verbs.Commands
|
|||||||
[AdminCommand(AdminFlags.Admin)]
|
[AdminCommand(AdminFlags.Admin)]
|
||||||
public sealed class InvokeVerbCommand : IConsoleCommand
|
public sealed class InvokeVerbCommand : IConsoleCommand
|
||||||
{
|
{
|
||||||
|
[Dependency] private readonly IEntityManager _entManager = default!;
|
||||||
|
|
||||||
public string Command => "invokeverb";
|
public string Command => "invokeverb";
|
||||||
public string Description => Loc.GetString("invoke-verb-command-description");
|
public string Description => Loc.GetString("invoke-verb-command-description");
|
||||||
public string Help => Loc.GetString("invoke-verb-command-help");
|
public string Help => Loc.GetString("invoke-verb-command-help");
|
||||||
@@ -21,8 +23,7 @@ namespace Content.Server.Verbs.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var entityManager = IoCManager.Resolve<IEntityManager>();
|
var verbSystem = _entManager.System<SharedVerbSystem>();
|
||||||
var verbSystem = entityManager.System<SharedVerbSystem>();
|
|
||||||
|
|
||||||
// get the 'player' entity (defaulting to command user, otherwise uses a uid)
|
// get the 'player' entity (defaulting to command user, otherwise uses a uid)
|
||||||
EntityUid? playerEntity = null;
|
EntityUid? playerEntity = null;
|
||||||
@@ -40,7 +41,7 @@ namespace Content.Server.Verbs.Commands
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
entityManager.EntityExists(new EntityUid(intPlayerUid));
|
_entManager.TryGetEntity(new NetEntity(intPlayerUid), out playerEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
// gets the target entity
|
// gets the target entity
|
||||||
@@ -56,16 +57,16 @@ namespace Content.Server.Verbs.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var target = new EntityUid(intUid);
|
var targetNet = new NetEntity(intUid);
|
||||||
if (!entityManager.EntityExists(target))
|
|
||||||
|
if (!_entManager.TryGetEntity(targetNet, out var target))
|
||||||
{
|
{
|
||||||
shell.WriteError(Loc.GetString("invoke-verb-command-invalid-target-entity"));
|
shell.WriteError(Loc.GetString("invoke-verb-command-invalid-target-entity"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var verbName = args[2].ToLowerInvariant();
|
var verbName = args[2].ToLowerInvariant();
|
||||||
var verbs = verbSystem.GetLocalVerbs(target, playerEntity.Value, Verb.VerbTypes, true);
|
var verbs = verbSystem.GetLocalVerbs(target.Value, playerEntity.Value, Verb.VerbTypes, true);
|
||||||
|
|
||||||
|
|
||||||
// if the "verb name" is actually a verb-type, try run any verb of that type.
|
// if the "verb name" is actually a verb-type, try run any verb of that type.
|
||||||
var verbType = Verb.VerbTypes.FirstOrDefault(x => x.Name == verbName);
|
var verbType = Verb.VerbTypes.FirstOrDefault(x => x.Name == verbName);
|
||||||
@@ -74,7 +75,7 @@ namespace Content.Server.Verbs.Commands
|
|||||||
var verb = verbs.FirstOrDefault(v => v.GetType() == verbType);
|
var verb = verbs.FirstOrDefault(v => v.GetType() == verbType);
|
||||||
if (verb != null)
|
if (verb != null)
|
||||||
{
|
{
|
||||||
verbSystem.ExecuteVerb(verb, playerEntity.Value, target, forced: true);
|
verbSystem.ExecuteVerb(verb, playerEntity.Value, target.Value, forced: true);
|
||||||
shell.WriteLine(Loc.GetString("invoke-verb-command-success", ("verb", verbName), ("target", target), ("player", playerEntity)));
|
shell.WriteLine(Loc.GetString("invoke-verb-command-success", ("verb", verbName), ("target", target), ("player", playerEntity)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -84,7 +85,7 @@ namespace Content.Server.Verbs.Commands
|
|||||||
{
|
{
|
||||||
if (verb.Text.ToLowerInvariant() == verbName)
|
if (verb.Text.ToLowerInvariant() == verbName)
|
||||||
{
|
{
|
||||||
verbSystem.ExecuteVerb(verb, playerEntity.Value, target, forced: true);
|
verbSystem.ExecuteVerb(verb, playerEntity.Value, target.Value, forced: true);
|
||||||
shell.WriteLine(Loc.GetString("invoke-verb-command-success", ("verb", verb.Text), ("target", target), ("player", playerEntity)));
|
shell.WriteLine(Loc.GetString("invoke-verb-command-success", ("verb", verb.Text), ("target", target), ("player", playerEntity)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ namespace Content.Server.Verbs.Commands
|
|||||||
[AdminCommand(AdminFlags.Admin)]
|
[AdminCommand(AdminFlags.Admin)]
|
||||||
public sealed class ListVerbsCommand : IConsoleCommand
|
public sealed class ListVerbsCommand : IConsoleCommand
|
||||||
{
|
{
|
||||||
|
[Dependency] private readonly IEntityManager _entManager = default!;
|
||||||
|
|
||||||
public string Command => "listverbs";
|
public string Command => "listverbs";
|
||||||
public string Description => Loc.GetString("list-verbs-command-description");
|
public string Description => Loc.GetString("list-verbs-command-description");
|
||||||
public string Help => Loc.GetString("list-verbs-command-help");
|
public string Help => Loc.GetString("list-verbs-command-help");
|
||||||
@@ -20,11 +22,11 @@ namespace Content.Server.Verbs.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var entityManager = IoCManager.Resolve<IEntityManager>();
|
var verbSystem = _entManager.System<SharedVerbSystem>();
|
||||||
var verbSystem = EntitySystem.Get<SharedVerbSystem>();
|
|
||||||
|
|
||||||
// get the 'player' entity (defaulting to command user, otherwise uses a uid)
|
// get the 'player' entity (defaulting to command user, otherwise uses a uid)
|
||||||
EntityUid? playerEntity = null;
|
EntityUid? playerEntity = null;
|
||||||
|
|
||||||
if (!int.TryParse(args[0], out var intPlayerUid))
|
if (!int.TryParse(args[0], out var intPlayerUid))
|
||||||
{
|
{
|
||||||
if (args[0] == "self" && shell.Player?.AttachedEntity != null)
|
if (args[0] == "self" && shell.Player?.AttachedEntity != null)
|
||||||
@@ -39,7 +41,7 @@ namespace Content.Server.Verbs.Commands
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
entityManager.EntityExists(new EntityUid(intPlayerUid));
|
_entManager.TryGetEntity(new NetEntity(intPlayerUid), out playerEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
// gets the target entity
|
// gets the target entity
|
||||||
@@ -55,14 +57,15 @@ namespace Content.Server.Verbs.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var target = new EntityUid(intUid);
|
var targetNet = new NetEntity(intUid);
|
||||||
if (!entityManager.EntityExists(target))
|
|
||||||
|
if (!_entManager.TryGetEntity(targetNet, out var target))
|
||||||
{
|
{
|
||||||
shell.WriteError(Loc.GetString("list-verbs-command-invalid-target-entity"));
|
shell.WriteError(Loc.GetString("list-verbs-command-invalid-target-entity"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var verbs = verbSystem.GetLocalVerbs(target, playerEntity.Value, Verb.VerbTypes);
|
var verbs = verbSystem.GetLocalVerbs(target.Value, playerEntity.Value, Verb.VerbTypes);
|
||||||
|
|
||||||
foreach (var verb in verbs)
|
foreach (var verb in verbs)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -199,8 +199,8 @@ public sealed partial class ArtifactSystem
|
|||||||
|
|
||||||
var temp = (object) comp;
|
var temp = (object) comp;
|
||||||
_serialization.CopyTo(entry.Component, ref temp);
|
_serialization.CopyTo(entry.Component, ref temp);
|
||||||
|
EntityManager.RemoveComponent(uid, temp!.GetType());
|
||||||
EntityManager.AddComponent(uid, (Component) temp!, true);
|
EntityManager.AddComponent(uid, (Component) temp!);
|
||||||
}
|
}
|
||||||
|
|
||||||
node.Discovered = true;
|
node.Discovered = true;
|
||||||
@@ -234,7 +234,8 @@ public sealed partial class ArtifactSystem
|
|||||||
comp.Owner = uid;
|
comp.Owner = uid;
|
||||||
var temp = (object) comp;
|
var temp = (object) comp;
|
||||||
_serialization.CopyTo(entry, ref temp);
|
_serialization.CopyTo(entry, ref temp);
|
||||||
EntityManager.AddComponent(uid, (Component) temp!, true);
|
EntityManager.RemoveComponent(uid, temp!.GetType());
|
||||||
|
EntityManager.AddComponent(uid, (Component) temp);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user