Feature: Add target anchor support for NPC entities

This commit is contained in:
2026-05-11 21:57:25 +02:00
parent b82d60e61b
commit 436ec50197

View File

@@ -10279,6 +10279,7 @@ export function App({
const applyNpcChange = ( const applyNpcChange = (
overrides: { overrides: {
targetable?: boolean; targetable?: boolean;
targetAnchorMode?: NpcTargetAnchorMode;
modelAssetId?: string | null; modelAssetId?: string | null;
colliderMode?: PlayerStartColliderMode; colliderMode?: PlayerStartColliderMode;
} = {} } = {}
@@ -10291,6 +10292,8 @@ export function App({
try { try {
const trimmedModelAssetId = npcModelAssetIdDraft.trim(); const trimmedModelAssetId = npcModelAssetIdDraft.trim();
const colliderMode = overrides.colliderMode ?? npcColliderModeDraft; const colliderMode = overrides.colliderMode ?? npcColliderModeDraft;
const targetAnchorMode =
overrides.targetAnchorMode ?? npcTargetAnchorModeDraft;
const nextEntity = createNpcEntity({ const nextEntity = createNpcEntity({
id: selectedNpc.id, id: selectedNpc.id,
@@ -10298,6 +10301,13 @@ export function App({
actorId: npcActorIdDraft, actorId: npcActorIdDraft,
presence: createNpcAlwaysPresence(), presence: createNpcAlwaysPresence(),
targetable: overrides.targetable ?? selectedNpc.targetable, targetable: overrides.targetable ?? selectedNpc.targetable,
targetAnchor: createNpcTargetAnchor({
mode: targetAnchorMode,
offset: readVec3Draft(
npcTargetAnchorOffsetDraft,
"NPC target anchor offset"
)
}),
position: snapVec3ToGrid( position: snapVec3ToGrid(
readVec3Draft(entityPositionDraft, "NPC position"), readVec3Draft(entityPositionDraft, "NPC position"),
DEFAULT_GRID_SIZE DEFAULT_GRID_SIZE