Я ебал NetEntity
This commit is contained in:
@@ -35,7 +35,6 @@ using Robust.Shared.Prototypes;
|
||||
using Robust.Shared.Random;
|
||||
using Robust.Shared.Timing;
|
||||
using Robust.Shared.Utility;
|
||||
using TerraFX.Interop.Windows;
|
||||
using static Robust.Client.UserInterface.Controls.BoxContainer;
|
||||
using Direction = Robust.Shared.Maths.Direction;
|
||||
|
||||
|
||||
@@ -182,9 +182,9 @@ namespace Content.Client.White.Radials;
|
||||
public SortedSet<Radial> GetRadials(EntityUid target, EntityUid user, List<Type> verbTypes,
|
||||
bool force = false)
|
||||
{
|
||||
if (!target.IsClientSide())
|
||||
if (!IsClientSide(target))
|
||||
{
|
||||
RaiseNetworkEvent(new RequestServerRadialsEvent(target, verbTypes, adminRequest: force));
|
||||
RaiseNetworkEvent(new RequestServerRadialsEvent(GetNetEntity(target), verbTypes, adminRequest: force));
|
||||
}
|
||||
|
||||
// Some admin menu interactions will try get verbs for entities that have not yet been sent to the player.
|
||||
@@ -216,10 +216,10 @@ namespace Content.Client.White.Radials;
|
||||
return;
|
||||
}
|
||||
|
||||
if (radial.ClientExclusive || target.IsClientSide())
|
||||
if (radial.ClientExclusive || IsClientSide(target))
|
||||
ExecuteRadial(radial, user.Value, target);
|
||||
else
|
||||
EntityManager.RaisePredictiveEvent(new ExecuteRadialEvent(target, radial));
|
||||
EntityManager.RaisePredictiveEvent(new ExecuteRadialEvent(GetNetEntity(target), radial));
|
||||
}
|
||||
|
||||
private void HandleRadialsResponse(RadialsResponseEvent msg)
|
||||
|
||||
@@ -22,6 +22,7 @@ public sealed class RadialUIController : UIController, IOnStateEntered<GameplayS
|
||||
{
|
||||
[Dependency] private readonly IPlayerManager _playerManager = default!;
|
||||
[Dependency] private readonly IUserInterfaceManager _userInterfaceManager = default!;
|
||||
[Dependency] private readonly IEntityManager _entityManager = default!;
|
||||
//[Dependency] private readonly ContextMenuUIController _context = default!;
|
||||
|
||||
[UISystemDependency] private readonly CombatModeSystem _combatMode = default!;
|
||||
@@ -108,7 +109,7 @@ public sealed class RadialUIController : UIController, IOnStateEntered<GameplayS
|
||||
|
||||
private void HandleVerbsResponse(RadialsResponseEvent msg)
|
||||
{
|
||||
if (OpenMenu == null || CurrentTarget != msg.Entity)
|
||||
if (OpenMenu == null || CurrentTarget != _entityManager.GetEntity(msg.Entity))
|
||||
return;
|
||||
|
||||
if (msg.Radials == null)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using System.Numerics;
|
||||
using JetBrains.Annotations;
|
||||
using Robust.Client.AutoGenerated;
|
||||
using Robust.Client.Graphics;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
using Content.Client.Gameplay;
|
||||
using Content.Client.Resources;
|
||||
using Content.Client.Viewport;
|
||||
|
||||
@@ -10,6 +10,7 @@ using Content.Shared.CCVar;
|
||||
using Content.Shared.Humanoid.Prototypes;
|
||||
using Content.Shared.Preferences;
|
||||
using Content.Shared.Roles;
|
||||
using Robust.Server.Player;
|
||||
using Robust.Shared.Configuration;
|
||||
using Robust.Shared.Network;
|
||||
using Robust.Shared.Player;
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace Content.Server.White.CriminalRecords;
|
||||
|
||||
public sealed class CriminalRecordsServerSystem : EntitySystem
|
||||
{
|
||||
[Dependency] private readonly PVSOverrideSystem _pvsSys = default!;
|
||||
[Dependency] private readonly PvsOverrideSystem _pvsSys = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
@@ -22,6 +22,6 @@ public sealed class CriminalRecordsServerSystem : EntitySystem
|
||||
|
||||
private void OnCompRemove(EntityUid uid, CriminalRecordsServerComponent component, ComponentRemove args)
|
||||
{
|
||||
_pvsSys.ClearOverride(uid);
|
||||
_pvsSys.ClearOverride(GetNetEntity(uid));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,9 +26,9 @@ public sealed class RadialSystem : SharedRadialSystem
|
||||
|
||||
private void HandleRadialRequest(RequestServerRadialsEvent args, EntitySessionEventArgs eventArgs)
|
||||
{
|
||||
var player = (IPlayerSession) eventArgs.SenderSession;
|
||||
var player = eventArgs.SenderSession;
|
||||
|
||||
if (!EntityManager.EntityExists(args.EntityUid))
|
||||
if (!EntityManager.EntityExists(GetEntity(args.EntityUid)))
|
||||
{
|
||||
Logger.Warning($"{nameof(HandleRadialRequest)} called on a non-existent entity with id {args.EntityUid} by player {player}.");
|
||||
return;
|
||||
@@ -44,8 +44,7 @@ public sealed class RadialSystem : SharedRadialSystem
|
||||
// this, and some verbs (e.g. view variables) won't even care about whether an entity is accessible through
|
||||
// the entity menu or not.
|
||||
|
||||
var force = args.AdminRequest && eventArgs.SenderSession is IPlayerSession playerSession &&
|
||||
_adminMgr.HasAdminFlag(playerSession, AdminFlags.Admin);
|
||||
var force = args.AdminRequest && _adminMgr.HasAdminFlag(eventArgs.SenderSession, AdminFlags.Admin);
|
||||
|
||||
List<Type> radialsTypes = new();
|
||||
foreach (var key in args.RadialTypes)
|
||||
@@ -59,7 +58,7 @@ public sealed class RadialSystem : SharedRadialSystem
|
||||
}
|
||||
|
||||
var response =
|
||||
new RadialsResponseEvent(args.EntityUid, GetLocalRadials(args.EntityUid, attached, radialsTypes, force));
|
||||
new RadialsResponseEvent(args.EntityUid, GetLocalRadials(GetEntity(args.EntityUid), attached, radialsTypes, force));
|
||||
RaiseNetworkEvent(response, player.ConnectedClient);
|
||||
}
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace Content.Shared.White.Radials;
|
||||
|
||||
public int Priority;
|
||||
|
||||
public EntityUid? IconEntity;
|
||||
public NetEntity? IconEntity;
|
||||
|
||||
public bool? CloseMenu;
|
||||
|
||||
|
||||
@@ -11,15 +11,15 @@ namespace Content.Shared.White.Radials;
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class RequestServerRadialsEvent : EntityEventArgs
|
||||
{
|
||||
public readonly EntityUid EntityUid;
|
||||
public readonly NetEntity EntityUid;
|
||||
|
||||
public readonly List<string> RadialTypes = new();
|
||||
|
||||
public readonly EntityUid? SlotOwner;
|
||||
public readonly NetEntity? SlotOwner;
|
||||
|
||||
public readonly bool AdminRequest;
|
||||
|
||||
public RequestServerRadialsEvent(EntityUid entityUid, IEnumerable<Type> radialTypes, EntityUid? slotOwner = null, bool adminRequest = false)
|
||||
public RequestServerRadialsEvent(NetEntity entityUid, IEnumerable<Type> radialTypes, NetEntity? slotOwner = null, bool adminRequest = false)
|
||||
{
|
||||
EntityUid = entityUid;
|
||||
SlotOwner = slotOwner;
|
||||
@@ -37,9 +37,9 @@ namespace Content.Shared.White.Radials;
|
||||
public sealed class RadialsResponseEvent : EntityEventArgs
|
||||
{
|
||||
public readonly List<Radial>? Radials;
|
||||
public readonly EntityUid Entity;
|
||||
public readonly NetEntity Entity;
|
||||
|
||||
public RadialsResponseEvent(EntityUid entity, SortedSet<Radial>? radials)
|
||||
public RadialsResponseEvent(NetEntity entity, SortedSet<Radial>? radials)
|
||||
{
|
||||
Entity = entity;
|
||||
|
||||
@@ -53,10 +53,10 @@ namespace Content.Shared.White.Radials;
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class ExecuteRadialEvent : EntityEventArgs
|
||||
{
|
||||
public readonly EntityUid Target;
|
||||
public readonly NetEntity Target;
|
||||
public readonly Radial RequestedRadial;
|
||||
|
||||
public ExecuteRadialEvent(EntityUid target, Radial requestedRadial)
|
||||
public ExecuteRadialEvent(NetEntity target, Radial requestedRadial)
|
||||
{
|
||||
Target = target;
|
||||
RequestedRadial = requestedRadial;
|
||||
|
||||
@@ -25,13 +25,13 @@ public abstract class SharedRadialSystem : EntitySystem
|
||||
if (user == null)
|
||||
return;
|
||||
|
||||
if (Deleted(args.Target) || Deleted(user))
|
||||
if (Deleted(GetEntity(args.Target)) || Deleted(user))
|
||||
return;
|
||||
|
||||
var radials = GetLocalRadials(args.Target, user.Value, args.RequestedRadial.GetType());
|
||||
var radials = GetLocalRadials(GetEntity(args.Target), user.Value, args.RequestedRadial.GetType());
|
||||
|
||||
if (radials.TryGetValue(args.RequestedRadial, out var radial))
|
||||
ExecuteRadial(radial, user.Value, args.Target);
|
||||
ExecuteRadial(radial, user.Value, GetEntity(args.Target));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -85,6 +85,8 @@
|
||||
- type: IgnoreUIRange
|
||||
- type: ShowSecurityIcons
|
||||
- type: ShowHealthIcons
|
||||
damageContainers:
|
||||
- Biological
|
||||
- type: ShowWhiteHealthBars
|
||||
|
||||
- type: entity
|
||||
|
||||
@@ -557,45 +557,6 @@
|
||||
name: centcom clipboard
|
||||
description: A luxurious clipboard upholstered with green velvet. Often seen carried by CentCom officials, seldom seen actually used.
|
||||
|
||||
- type: entity
|
||||
name: lawyer's rubber stamp
|
||||
parent: BaseItem
|
||||
id: RubberStampLawyer
|
||||
description: A rubber stamp for stamping important documents.
|
||||
components:
|
||||
- type: Stamp
|
||||
stampedName: stamp-component-stamped-name-lawyer
|
||||
stampState: "paper_stamp-lawyer"
|
||||
- type: Sprite
|
||||
sprite: Objects/Misc/bureaucracy.rsi
|
||||
state: stamp-lawyer
|
||||
- type: Item
|
||||
size: Small
|
||||
|
||||
- type: entity
|
||||
name: captain's rubber stamp
|
||||
parent: RubberStampMime
|
||||
id: RubberStampCaptain
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Misc/cc-clipboard.rsi
|
||||
layers:
|
||||
- state: clipboard
|
||||
- state: clipboard_paper
|
||||
map: ["clipboard_paper"]
|
||||
visible: false
|
||||
- state: clipboard_pen
|
||||
map: ["clipboard_pen"]
|
||||
visible: false
|
||||
- state: clipboard_over
|
||||
- type: Item
|
||||
sprite: Objects/Misc/cc-clipboard.rsi
|
||||
size: Small
|
||||
- type: Clothing
|
||||
slots: [belt]
|
||||
quickEquip: false
|
||||
sprite: Objects/Misc/cc-clipboard.rsi
|
||||
|
||||
- type: entity
|
||||
id: BoxFolderQmClipboard
|
||||
parent: BoxFolderBase
|
||||
|
||||
@@ -245,3 +245,18 @@
|
||||
stampState: "paper_stamp-deny"
|
||||
- type: Sprite
|
||||
state: stamp-deny
|
||||
|
||||
- type: entity
|
||||
name: lawyer's rubber stamp
|
||||
parent: RubberStampBase
|
||||
id: RubberStampLawyer
|
||||
suffix: DO NOT MAP
|
||||
description: A rubber stamp for stamping important documents.
|
||||
components:
|
||||
- type: Stamp
|
||||
stampedName: stamp-component-stamped-name-lawyer
|
||||
stampedColor: "#a23e3e"
|
||||
stampState: "paper_stamp-lawyer"
|
||||
- type: Sprite
|
||||
sprite: Objects/Misc/bureaucracy.rsi
|
||||
state: stamp-lawyer
|
||||
|
||||
@@ -425,18 +425,6 @@
|
||||
sprite: Objects/Consumable/Drinks/rewriter.rsi
|
||||
state: icon
|
||||
|
||||
- type: reagent
|
||||
id: TheMartinez
|
||||
name: reagent-name-the-martinez
|
||||
parent: BaseDrink
|
||||
desc: reagent-desc-the-martinez
|
||||
physicalDesc: reagent-physical-desc-vibrant
|
||||
flavor: themartinez
|
||||
color: "#75b1f0"
|
||||
metamorphicSprite:
|
||||
sprite: Objects/Consumable/Drinks/the_martinez.rsi
|
||||
state: icon
|
||||
|
||||
- type: reagent
|
||||
id: Kvass
|
||||
name: reagent-name-kvass
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
id: EmoteActionFlip
|
||||
name: emote-flip-action-name
|
||||
description: emote-flip-action-description
|
||||
nospawn: true
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: InstantAction
|
||||
icon: White/Actions/EmoteFlip.png
|
||||
@@ -15,7 +15,7 @@
|
||||
id: EmoteActionJump
|
||||
name: emote-jump-action-name
|
||||
description: emote-jump-action-description
|
||||
nospawn: true
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: InstantAction
|
||||
icon: White/Actions/EmoteJump.png
|
||||
@@ -27,7 +27,7 @@
|
||||
id: EmoteActionTurn
|
||||
name: emote-turn-action-name
|
||||
description: emote-turn-action-description
|
||||
nospawn: true
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: InstantAction
|
||||
icon: White/Actions/EmoteTurn.png
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
id: EatMouse
|
||||
name: Eat mouse
|
||||
description: Eat the mouse in your hand, receiving nutrients and a hairball charge.
|
||||
nospawn: true
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: InstantAction
|
||||
icon: White/Icons/verbiconfangs.png
|
||||
@@ -12,7 +12,7 @@
|
||||
id: HairballAction
|
||||
name: Cough up a hairball.
|
||||
description: People don't like that.
|
||||
nospawn: true
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: InstantAction
|
||||
icon:
|
||||
|
||||
Reference in New Issue
Block a user