Add validation checks for player start input bindings and boolean properties
This commit is contained in:
@@ -2677,6 +2677,28 @@ function validatePlayerStartEntity(
|
||||
);
|
||||
}
|
||||
|
||||
if (typeof entity.allowLookInputTargetSwitch !== "boolean") {
|
||||
diagnostics.push(
|
||||
createDiagnostic(
|
||||
"error",
|
||||
"invalid-player-start-look-input-target-switch",
|
||||
"Player Start allowLookInputTargetSwitch must remain a boolean.",
|
||||
`${path}.allowLookInputTargetSwitch`
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
if (typeof entity.targetButtonCyclesActiveTarget !== "boolean") {
|
||||
diagnostics.push(
|
||||
createDiagnostic(
|
||||
"error",
|
||||
"invalid-player-start-target-button-cycles-active-target",
|
||||
"Player Start targetButtonCyclesActiveTarget must remain a boolean.",
|
||||
`${path}.targetButtonCyclesActiveTarget`
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
if (!isPlayerStartMovementTemplateKind(entity.movementTemplate?.kind)) {
|
||||
diagnostics.push(
|
||||
createDiagnostic(
|
||||
@@ -3009,6 +3031,34 @@ function validatePlayerStartEntity(
|
||||
);
|
||||
}
|
||||
|
||||
if (
|
||||
!isPlayerStartKeyboardBindingCode(entity.inputBindings?.keyboard.interact)
|
||||
) {
|
||||
diagnostics.push(
|
||||
createDiagnostic(
|
||||
"error",
|
||||
"invalid-player-start-interact-keyboard-binding",
|
||||
"Player Start interact keyboard binding must be a supported key code.",
|
||||
`${path}.inputBindings.keyboard.interact`
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
if (
|
||||
!isPlayerStartKeyboardBindingCode(
|
||||
entity.inputBindings?.keyboard.clearTarget
|
||||
)
|
||||
) {
|
||||
diagnostics.push(
|
||||
createDiagnostic(
|
||||
"error",
|
||||
"invalid-player-start-clear-target-keyboard-binding",
|
||||
"Player Start clear-target keyboard binding must be a supported key code.",
|
||||
`${path}.inputBindings.keyboard.clearTarget`
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
if (
|
||||
!isPlayerStartKeyboardBindingCode(entity.inputBindings?.keyboard.pauseTime)
|
||||
) {
|
||||
@@ -3118,6 +3168,34 @@ function validatePlayerStartEntity(
|
||||
);
|
||||
}
|
||||
|
||||
if (
|
||||
!isPlayerStartGamepadActionBinding(entity.inputBindings?.gamepad.interact)
|
||||
) {
|
||||
diagnostics.push(
|
||||
createDiagnostic(
|
||||
"error",
|
||||
"invalid-player-start-interact-gamepad-binding",
|
||||
"Player Start interact gamepad binding must be a supported standard-gamepad action input.",
|
||||
`${path}.inputBindings.gamepad.interact`
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
if (
|
||||
!isPlayerStartGamepadActionBinding(
|
||||
entity.inputBindings?.gamepad.clearTarget
|
||||
)
|
||||
) {
|
||||
diagnostics.push(
|
||||
createDiagnostic(
|
||||
"error",
|
||||
"invalid-player-start-clear-target-gamepad-binding",
|
||||
"Player Start clear-target gamepad binding must be a supported standard-gamepad action input.",
|
||||
`${path}.inputBindings.gamepad.clearTarget`
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
if (
|
||||
!isPlayerStartGamepadActionBinding(entity.inputBindings?.gamepad.pauseTime)
|
||||
) {
|
||||
|
||||
Reference in New Issue
Block a user