add box features
This commit is contained in:
116
scripts/client/controls.cs
Normal file
116
scripts/client/controls.cs
Normal file
@ -0,0 +1,116 @@
|
||||
// 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);}
|
Reference in New Issue
Block a user