Optimise pinpointer activation significantly (#7169)

This commit is contained in:
metalgearsloth
2022-03-20 05:27:26 +11:00
committed by GitHub
parent 8e46b8040e
commit 0318b6f9e5
8 changed files with 54 additions and 48 deletions

View File

@@ -0,0 +1,9 @@
using Robust.Shared.GameStates;
namespace Content.Shared.Nuke;
/// <summary>
/// Used for tracking the nuke disk - isn't a tag for pinpointer purposes.
/// </summary>
[RegisterComponent, NetworkedComponent]
public sealed class NukeDiskComponent : Component {}

View File

@@ -1,21 +1,19 @@
using System;
using Content.Shared.Whitelist;
using Robust.Shared.Analyzers;
using Robust.Shared.GameObjects;
using Robust.Shared.GameStates;
using Robust.Shared.Maths;
using Robust.Shared.Serialization;
using Robust.Shared.Serialization.Manager.Attributes;
namespace Content.Shared.Pinpointer
{
/// <summary>
/// Displays a sprite on the item that points towards the target component.
/// </summary>
[RegisterComponent]
[NetworkedComponent]
[Friend(typeof(SharedPinpointerSystem))]
public sealed class PinpointerComponent : Component
{
[DataField("whitelist")]
public EntityWhitelist? Whitelist;
// TODO: Type serializer oh god
[DataField("component")]
public string? Component;
[DataField("mediumDistance")]
public float MediumDistance = 16f;

View File

@@ -1,7 +1,4 @@
using System.Collections.Generic;
using Robust.Shared.GameObjects;
using Robust.Shared.GameStates;
using Robust.Shared.Maths;
namespace Content.Shared.Pinpointer
{
@@ -44,7 +41,7 @@ namespace Content.Shared.Pinpointer
return;
pinpointer.DistanceToTarget = distance;
pinpointer.Dirty();
Dirty(pinpointer);
}
/// <summary>
@@ -59,7 +56,7 @@ namespace Content.Shared.Pinpointer
return;
pinpointer.DirectionToTarget = directionToTarget;
pinpointer.Dirty();
Dirty(pinpointer);
}
/// <summary>
@@ -79,7 +76,7 @@ namespace Content.Shared.Pinpointer
ActivePinpointers.Remove(uid);
pinpointer.IsActive = isActive;
pinpointer.Dirty();
Dirty(pinpointer);
}