Content update for NetEntities (#18935)
This commit is contained in:
@@ -56,10 +56,12 @@ public sealed class MechGrabberSystem : EntitySystem
|
||||
if (!_interaction.InRangeUnobstructed(mech, targetCoords))
|
||||
return;
|
||||
|
||||
if (!component.ItemContainer.Contains(msg.Item))
|
||||
var item = GetEntity(msg.Item);
|
||||
|
||||
if (!component.ItemContainer.Contains(item))
|
||||
return;
|
||||
|
||||
RemoveItem(uid, mech, msg.Item, component);
|
||||
RemoveItem(uid, mech, item, component);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -77,11 +79,11 @@ public sealed class MechGrabberSystem : EntitySystem
|
||||
component.ItemContainer.Remove(toRemove);
|
||||
var mechxform = Transform(mech);
|
||||
var xform = Transform(toRemove);
|
||||
xform.AttachToGridOrMap();
|
||||
_transform.AttachToGridOrMap(toRemove, xform);
|
||||
var (mechPos, mechRot) = _transform.GetWorldPositionRotation(mechxform);
|
||||
|
||||
var offset = _transform.GetWorldPosition(mechxform) + _transform.GetWorldRotation(mechxform).RotateVec(component.DepositOffset);
|
||||
_transform.SetWorldPosition(xform, offset);
|
||||
_transform.SetWorldRotation(xform, Angle.Zero);
|
||||
var offset = mechPos + mechRot.RotateVec(component.DepositOffset);
|
||||
_transform.SetWorldPositionRotation(xform, offset, Angle.Zero);
|
||||
_mech.UpdateUserInterface(mech);
|
||||
}
|
||||
|
||||
@@ -113,10 +115,10 @@ public sealed class MechGrabberSystem : EntitySystem
|
||||
{
|
||||
var state = new MechGrabberUiState
|
||||
{
|
||||
Contents = component.ItemContainer.ContainedEntities.ToList(),
|
||||
Contents = GetNetEntityList(component.ItemContainer.ContainedEntities.ToList()),
|
||||
MaxContents = component.MaxContents
|
||||
};
|
||||
args.States.Add(uid, state);
|
||||
args.States.Add(GetNetEntity(uid), state);
|
||||
}
|
||||
|
||||
private void OnInteract(EntityUid uid, MechGrabberComponent component, InteractNoHandEvent args)
|
||||
@@ -148,7 +150,7 @@ public sealed class MechGrabberSystem : EntitySystem
|
||||
|
||||
args.Handled = true;
|
||||
component.AudioStream = _audio.PlayPvs(component.GrabSound, uid);
|
||||
_doAfter.TryStartDoAfter(new DoAfterArgs(args.User, component.GrabDelay, new GrabberDoAfterEvent(), uid, target: target, used: uid)
|
||||
_doAfter.TryStartDoAfter(new DoAfterArgs(EntityManager, args.User, component.GrabDelay, new GrabberDoAfterEvent(), uid, target: target, used: uid)
|
||||
{
|
||||
BreakOnTargetMove = true,
|
||||
BreakOnUserMove = true
|
||||
|
||||
@@ -45,7 +45,7 @@ public sealed class MechEquipmentSystem : EntitySystem
|
||||
|
||||
_popup.PopupEntity(Loc.GetString("mech-equipment-begin-install", ("item", uid)), mech);
|
||||
|
||||
var doAfterEventArgs = new DoAfterArgs(args.User, component.InstallDuration, new InsertEquipmentEvent(), uid, target: mech, used: uid)
|
||||
var doAfterEventArgs = new DoAfterArgs(EntityManager, args.User, component.InstallDuration, new InsertEquipmentEvent(), uid, target: mech, used: uid)
|
||||
{
|
||||
BreakOnTargetMove = true,
|
||||
BreakOnUserMove = true
|
||||
|
||||
@@ -93,7 +93,7 @@ public sealed partial class MechSystem : SharedMechSystem
|
||||
|
||||
if (TryComp<ToolComponent>(args.Used, out var tool) && tool.Qualities.Contains("Prying") && component.BatterySlot.ContainedEntity != null)
|
||||
{
|
||||
var doAfterEventArgs = new DoAfterArgs(args.User, component.BatteryRemovalDelay, new RemoveBatteryEvent(), uid, target: uid, used: args.Target)
|
||||
var doAfterEventArgs = new DoAfterArgs(EntityManager, args.User, component.BatteryRemovalDelay, new RemoveBatteryEvent(), uid, target: uid, used: args.Target)
|
||||
{
|
||||
BreakOnTargetMove = true,
|
||||
BreakOnUserMove = true,
|
||||
@@ -146,13 +146,15 @@ public sealed partial class MechSystem : SharedMechSystem
|
||||
|
||||
private void OnRemoveEquipmentMessage(EntityUid uid, MechComponent component, MechEquipmentRemoveMessage args)
|
||||
{
|
||||
if (!Exists(args.Equipment) || Deleted(args.Equipment))
|
||||
var equip = GetEntity(args.Equipment);
|
||||
|
||||
if (!Exists(equip) || Deleted(equip))
|
||||
return;
|
||||
|
||||
if (!component.EquipmentContainer.ContainedEntities.Contains(args.Equipment))
|
||||
if (!component.EquipmentContainer.ContainedEntities.Contains(equip))
|
||||
return;
|
||||
|
||||
RemoveEquipment(uid, args.Equipment, component);
|
||||
RemoveEquipment(uid, equip, component);
|
||||
}
|
||||
|
||||
private void OnOpenUi(EntityUid uid, MechComponent component, MechOpenUiEvent args)
|
||||
@@ -179,7 +181,7 @@ public sealed partial class MechSystem : SharedMechSystem
|
||||
Text = Loc.GetString("mech-verb-enter"),
|
||||
Act = () =>
|
||||
{
|
||||
var doAfterEventArgs = new DoAfterArgs(args.User, component.EntryDelay, new MechEntryEvent(), uid, target: uid)
|
||||
var doAfterEventArgs = new DoAfterArgs(EntityManager, args.User, component.EntryDelay, new MechEntryEvent(), uid, target: uid)
|
||||
{
|
||||
BreakOnUserMove = true,
|
||||
};
|
||||
@@ -209,7 +211,7 @@ public sealed partial class MechSystem : SharedMechSystem
|
||||
return;
|
||||
}
|
||||
|
||||
var doAfterEventArgs = new DoAfterArgs(args.User, component.ExitDelay, new MechExitEvent(), uid, target: uid)
|
||||
var doAfterEventArgs = new DoAfterArgs(EntityManager, args.User, component.ExitDelay, new MechExitEvent(), uid, target: uid)
|
||||
{
|
||||
BreakOnUserMove = true,
|
||||
BreakOnTargetMove = true,
|
||||
@@ -282,9 +284,11 @@ public sealed partial class MechSystem : SharedMechSystem
|
||||
{
|
||||
var ev = new MechEquipmentUiMessageRelayEvent(args);
|
||||
var allEquipment = new List<EntityUid>(component.EquipmentContainer.ContainedEntities);
|
||||
var argEquip = GetEntity(args.Equipment);
|
||||
|
||||
foreach (var equipment in allEquipment)
|
||||
{
|
||||
if (args.Equipment == equipment)
|
||||
if (argEquip == equipment)
|
||||
RaiseLocalEvent(equipment, ev);
|
||||
}
|
||||
}
|
||||
@@ -307,7 +311,7 @@ public sealed partial class MechSystem : SharedMechSystem
|
||||
EquipmentStates = ev.States
|
||||
};
|
||||
var ui = _ui.GetUi(uid, MechUiKey.Key);
|
||||
UserInterfaceSystem.SetUiState(ui, state);
|
||||
_ui.SetUiState(ui, state);
|
||||
}
|
||||
|
||||
public override void BreakMech(EntityUid uid, MechComponent? component = null)
|
||||
|
||||
Reference in New Issue
Block a user