What's the danger zone?
There's a few things you can do with the mouse.
1. You can use the show/hide cutscene wrappers to disable mouse interaction & hide the mouse cursor, however the mouse cursor will still be visible if you specified a
wait cursor in the main game settings section of the editor, but that can be edited via a line of code.
game.WaitCursor = Cursors["example"]
or
game.WaitCursor = emptyObject
2. It's possible to prevent the mouse cursor from updating destination for left/right click, etc - see the mouse properties section under main game settings section of the editor. It's actually possible to update those with script too.
Available arguments:
eMouseActionBehaviourDoNotSendCharacter 0
eMouseActionBehaviourSendCharacterToCursor 1
eMouseActionBehaviourSendCharacterToObjects 2
Available mouse behaviours:
LeftHoldBehaviour
LeftClickBehaviour
MiddleClickBehaviour
RightClickBehaviour
Example [prevent destination tables from being updated]:
game.LeftClickBehaviour = eMouseActionBehaviourDoNotSendCharacter
3. You could create an interface (place it just below your command interface in the interface list) that contains a transparent png/webp image that is the same size as your default game resolution - don't forget to specify the interface area - & just show & hide that as needed. It should prevent the cursor from being able to detect anything underneath it.
4. I really don't recommend this method as it wrestles control from the player & the player with be able to fight against it. You could use a loop that forces the mouse cursor into a specific position, but if the player is moving their mouse then the cursor will be jumping around, which isn't very aesthetically pleasing.