117 lines
4.2 KiB
C#
117 lines
4.2 KiB
C#
// Registers hotkeys used to control the new duplicator.
|
|
// -------------------------------------------------------------------
|
|
|
|
//Register rebind-able controls
|
|
function ndRegisterKeybinds()
|
|
{
|
|
if($ND::KeybindsRegistered)
|
|
return;
|
|
|
|
$RemapDivision[$RemapCount] = "New Duplicator";
|
|
$RemapName[$RemapCount] = "Copy Selection (Ctrl C)";
|
|
$RemapCmd[$RemapCount] = "ndInputCopy";
|
|
$RemapCount++;
|
|
|
|
$RemapName[$RemapCount] = "Paste Selection (Ctrl V)";
|
|
$RemapCmd[$RemapCount] = "ndInputPaste";
|
|
$RemapCount++;
|
|
|
|
$RemapName[$RemapCount] = "Cut Selection (Ctrl X)";
|
|
$RemapCmd[$RemapCount] = "ndInputCut";
|
|
$RemapCount++;
|
|
|
|
$RemapName[$RemapCount] = "Multiselect (Ctrl, Hold to use)";
|
|
$RemapCmd[$RemapCount] = "ndInputMultiSelect";
|
|
$RemapCount++;
|
|
|
|
$RemapName[$RemapCount] = "Send /NewDuplicator";
|
|
$RemapCmd[$RemapCount] = "ndInputNewDuplicator";
|
|
$RemapCount++;
|
|
|
|
$RemapName[$RemapCount] = "Send /FillWrench";
|
|
$RemapCmd[$RemapCount] = "ndInputFillWrench";
|
|
$RemapCount++;
|
|
|
|
$RemapName[$RemapCount] = "Send /ForcePlant";
|
|
$RemapCmd[$RemapCount] = "ndInputForcePlant";
|
|
$RemapCount++;
|
|
|
|
$RemapName[$RemapCount] = "Send /ToggleForcePlant";
|
|
$RemapCmd[$RemapCount] = "ndInputToggleForcePlant";
|
|
$RemapCount++;
|
|
|
|
$RemapName[$RemapCount] = "Send /MirrorX";
|
|
$RemapCmd[$RemapCount] = "ndInputMirrorX";
|
|
$RemapCount++;
|
|
|
|
$RemapName[$RemapCount] = "Send /MirrorY";
|
|
$RemapCmd[$RemapCount] = "ndInputMirrorY";
|
|
$RemapCount++;
|
|
|
|
$RemapName[$RemapCount] = "Send /MirrorZ";
|
|
$RemapCmd[$RemapCount] = "ndInputMirrorZ";
|
|
$RemapCount++;
|
|
|
|
$RemapName[$RemapCount] = "Send /SuperCut (Shift-Ctrl X)";
|
|
$RemapCmd[$RemapCount] = "ndInputSuperCut";
|
|
$RemapCount++;
|
|
|
|
$RemapName[$RemapCount] = "Send /FillBricks (Shift-Ctrl V)";
|
|
$RemapCmd[$RemapCount] = "ndInputFillBricks";
|
|
$RemapCount++;
|
|
|
|
$ND::KeybindsRegistered = true;
|
|
}
|
|
|
|
//Enable the copy, paste, cut keybinds
|
|
function clientCmdNdEnableKeybinds(%bool)
|
|
{
|
|
if(%bool && !$ND::KeybindsEnabled)
|
|
{
|
|
%map = new ActionMap(ND_KeyMap);
|
|
|
|
if(MoveMap.getBinding("ndInputCopy") $= "")
|
|
%map.bind("keyboard", isWindows() ? "ctrl c" : "cmd c", "ndInputCopy");
|
|
|
|
if(MoveMap.getBinding("ndInputPaste") $= "")
|
|
%map.bind("keyboard", isWindows() ? "ctrl v" : "cmd v", "ndInputPaste");
|
|
|
|
if(MoveMap.getBinding("ndInputCut") $= "")
|
|
%map.bind("keyboard", isWindows() ? "ctrl x" : "cmd x", "ndInputCut");
|
|
|
|
if(MoveMap.getBinding("ndInputMultiSelect") $= "")
|
|
%map.bind("keyboard", isWindows() ? "lcontrol" : "cmd", "ndInputMultiSelect");
|
|
|
|
if(MoveMap.getBinding("ndInputSuperCut") $= "")
|
|
%map.bind("keyboard", isWindows() ? "shift-ctrl x" : "shift-cmd x", "ndInputSuperCut");
|
|
|
|
if(MoveMap.getBinding("ndInputFillBricks") $= "")
|
|
%map.bind("keyboard", isWindows() ? "shift-ctrl v" : "shift-cmd v", "ndInputFillBricks");
|
|
|
|
%map.push();
|
|
$ND::KeybindsEnabled = true;
|
|
}
|
|
else if(!%bool && $ND::KeybindsEnabled)
|
|
{
|
|
ND_KeyMap.pop();
|
|
ND_KeyMap.delete();
|
|
$ND::KeybindsEnabled = false;
|
|
}
|
|
}
|
|
|
|
//Input handlers
|
|
function ndInputNewDuplicator (%bool) {if(!%bool)return; commandToServer('newDuplicator' );}
|
|
function ndInputCopy (%bool) {if(!%bool)return; commandToServer('ndCopy' );}
|
|
function ndInputPaste (%bool) {if(!%bool)return; commandToServer('ndPaste' );}
|
|
function ndInputCut (%bool) {if(!%bool)return; commandToServer('ndCut' );}
|
|
function ndInputFillWrench (%bool) {if(!%bool)return; commandToServer('fillWrench' );}
|
|
function ndInputForcePlant (%bool) {if(!%bool)return; commandToServer('forcePlant' );}
|
|
function ndInputToggleForcePlant(%bool) {if(!%bool)return; commandToServer('toggleForcePlant');}
|
|
function ndInputMirrorX (%bool) {if(!%bool)return; commandToServer('mirrorX' );}
|
|
function ndInputMirrorY (%bool) {if(!%bool)return; commandToServer('mirrorY' );}
|
|
function ndInputMirrorZ (%bool) {if(!%bool)return; commandToServer('mirrorZ' );}
|
|
function ndInputSuperCut (%bool) {if(!%bool)return; commandToServer('superCut' );}
|
|
function ndInputFillBricks (%bool) {if(!%bool)return; commandToServer('fillBricks' );}
|
|
|
|
function ndInputMultiSelect(%bool) {commandToServer('ndMultiSelect', %bool);}
|