Add TryGetNpc (#19553)
This commit is contained in:
@@ -641,7 +641,7 @@ public sealed partial class PathfindingSystem
|
||||
}
|
||||
}
|
||||
|
||||
// _sawmill.Debug($"Built breadcrumbs in {sw.Elapsed.TotalMilliseconds}ms");
|
||||
// Log.Debug($"Built breadcrumbs in {sw.Elapsed.TotalMilliseconds}ms");
|
||||
SendBreadcrumbs(chunk, grid.Owner);
|
||||
}
|
||||
|
||||
@@ -827,7 +827,7 @@ public sealed partial class PathfindingSystem
|
||||
}
|
||||
}
|
||||
|
||||
// _sawmill.Debug($"Built navmesh in {sw.Elapsed.TotalMilliseconds}ms");
|
||||
// Log.Debug($"Built navmesh in {sw.Elapsed.TotalMilliseconds}ms");
|
||||
SendPolys(chunk, component.Owner, chunkPolys);
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ using System.Threading.Tasks;
|
||||
using Content.Server.Administration.Managers;
|
||||
using Content.Server.Destructible;
|
||||
using Content.Server.NPC.HTN;
|
||||
using Content.Server.NPC.Systems;
|
||||
using Content.Shared.Administration;
|
||||
using Content.Shared.NPC;
|
||||
using Robust.Server.Player;
|
||||
@@ -44,10 +45,9 @@ namespace Content.Server.NPC.Pathfinding
|
||||
[Dependency] private readonly DestructibleSystem _destructible = default!;
|
||||
[Dependency] private readonly EntityLookupSystem _lookup = default!;
|
||||
[Dependency] private readonly FixtureSystem _fixtures = default!;
|
||||
[Dependency] private readonly NPCSystem _npc = default!;
|
||||
[Dependency] private readonly SharedPhysicsSystem _physics = default!;
|
||||
|
||||
private ISawmill _sawmill = default!;
|
||||
|
||||
private readonly Dictionary<ICommonSession, PathfindingDebugMode> _subscribedSessions = new();
|
||||
|
||||
[ViewVariables]
|
||||
@@ -66,7 +66,6 @@ namespace Content.Server.NPC.Pathfinding
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
_sawmill = Logger.GetSawmill("nav");
|
||||
_playerManager.PlayerStatusChanged += OnPlayerChange;
|
||||
InitializeGrid();
|
||||
SubscribeNetworkEvent<RequestPathfindingDebugMessage>(OnBreadcrumbs);
|
||||
@@ -418,7 +417,7 @@ namespace Content.Server.NPC.Pathfinding
|
||||
|
||||
public PathFlags GetFlags(EntityUid uid)
|
||||
{
|
||||
if (!TryComp<HTNComponent>(uid, out var npc))
|
||||
if (!_npc.TryGetNpc(uid, out var npc))
|
||||
{
|
||||
return PathFlags.None;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using Content.Server.NPC.Components;
|
||||
using Content.Server.NPC.HTN;
|
||||
using Content.Shared.CCVar;
|
||||
@@ -77,6 +78,20 @@ namespace Content.Server.NPC.Systems
|
||||
return Resolve(uid, ref active, false);
|
||||
}
|
||||
|
||||
public bool TryGetNpc(EntityUid uid, [NotNullWhen(true)] out NPCComponent? component)
|
||||
{
|
||||
// If you add your own NPC components then add them here.
|
||||
|
||||
if (TryComp<HTNComponent>(uid, out var htn))
|
||||
{
|
||||
component = htn;
|
||||
return true;
|
||||
}
|
||||
|
||||
component = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Allows the NPC to actively be updated.
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user