Enhance applyPlayerStartChange to accept collider mode overrides

This commit is contained in:
2026-04-04 15:56:30 +02:00
parent 41917c30f7
commit c752c7fa6d

View File

@@ -2227,7 +2227,7 @@ export function App({ store, initialStatusMessage }: AppProps) {
}
};
const applyPlayerStartChange = () => {
const applyPlayerStartChange = (overrides: { colliderMode?: PlayerStartColliderMode } = {}) => {
if (selectedPlayerStart === null) {
setStatusMessage("Select a Player Start before editing it.");
return;
@@ -2236,11 +2236,19 @@ export function App({ store, initialStatusMessage }: AppProps) {
try {
const snappedPosition = snapVec3ToGrid(readVec3Draft(entityPositionDraft, "Player Start position"), DEFAULT_GRID_SIZE);
const yawDegrees = readYawDegreesDraft(playerStartYawDraft);
const colliderMode = overrides.colliderMode ?? playerStartColliderModeDraft;
const nextEntity = createPlayerStartEntity({
id: selectedPlayerStart.id,
name: selectedPlayerStart.name,
position: snappedPosition,
yawDegrees
yawDegrees,
collider: {
mode: colliderMode,
eyeHeight: readPositiveNumberDraft(playerStartEyeHeightDraft, "Player Start eye height"),
capsuleRadius: readPositiveNumberDraft(playerStartCapsuleRadiusDraft, "Player Start capsule radius"),
capsuleHeight: readPositiveNumberDraft(playerStartCapsuleHeightDraft, "Player Start capsule height"),
boxSize: readPositiveVec3Draft(playerStartBoxSizeDraft, "Player Start box size")
}
});
commitEntityChange(selectedPlayerStart, nextEntity, "Updated Player Start.");