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)) {
|
if (!isPlayerStartMovementTemplateKind(entity.movementTemplate?.kind)) {
|
||||||
diagnostics.push(
|
diagnostics.push(
|
||||||
createDiagnostic(
|
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 (
|
if (
|
||||||
!isPlayerStartKeyboardBindingCode(entity.inputBindings?.keyboard.pauseTime)
|
!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 (
|
if (
|
||||||
!isPlayerStartGamepadActionBinding(entity.inputBindings?.gamepad.pauseTime)
|
!isPlayerStartGamepadActionBinding(entity.inputBindings?.gamepad.pauseTime)
|
||||||
) {
|
) {
|
||||||
|
|||||||
Reference in New Issue
Block a user