Add semi-functional action inputs
This commit is contained in:
parent
5ca18d272a
commit
a9322a08dd
1 changed files with 38 additions and 0 deletions
|
@ -62,6 +62,7 @@ namespace GamecraftModdingAPI.Input
|
||||||
playerID = inputEngine.GetLocalPlayerID();
|
playerID = inputEngine.GetLocalPlayerID();
|
||||||
}
|
}
|
||||||
ref InputEntityStruct currentInput = ref inputEngine.GetInputRef(playerID);
|
ref InputEntityStruct currentInput = ref inputEngine.GetInputRef(playerID);
|
||||||
|
Utility.Logging.CommandLog($"Current sim frame {currentInput.frame}");
|
||||||
// set inputs
|
// set inputs
|
||||||
switch(hotbar)
|
switch(hotbar)
|
||||||
{
|
{
|
||||||
|
@ -106,6 +107,43 @@ namespace GamecraftModdingAPI.Input
|
||||||
if (paste) currentInput.guiMask |= RobocraftX.Common.Input.GuiInput.PasteSelection;
|
if (paste) currentInput.guiMask |= RobocraftX.Common.Input.GuiInput.PasteSelection;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void ActionInput(uint playerID = uint.MaxValue, bool toggleMode = false, bool forward = false, bool backward = false, bool up = false, bool down = false, bool left = false, bool right = false, bool sprint = false, bool toggleFly = false, bool alt = false, bool primary = false, bool secondary = false, bool tertiary = false, bool primaryRelease = false, bool primaryHeld = false, bool secondaryHeld = false, bool toggleUnitGrid = false, bool ctrl = false, bool toggleColourMode = false, bool scaleBlockUp = false, bool scaleBlockDown = false, bool rotateBlockClockwise = false, bool rotateBlockCounterclockwise = false, bool cutSelection = false, bool copySelection = false, bool deleteSelection = false)
|
||||||
|
{
|
||||||
|
if (playerID == uint.MaxValue)
|
||||||
|
{
|
||||||
|
playerID = inputEngine.GetLocalPlayerID();
|
||||||
|
}
|
||||||
|
ref InputEntityStruct currentInput = ref inputEngine.GetInputRef(playerID);
|
||||||
|
Utility.Logging.CommandLog($"Current sim frame {currentInput.frame}");
|
||||||
|
// set inputs
|
||||||
|
if (toggleMode) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.ToggleSimulation;
|
||||||
|
if (forward) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.Forward;
|
||||||
|
if (backward) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.Backward;
|
||||||
|
if (up) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.Up;
|
||||||
|
if (down) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.Down;
|
||||||
|
if (left) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.Left;
|
||||||
|
if (right) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.Right;
|
||||||
|
if (sprint) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.Sprint;
|
||||||
|
if (toggleFly) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.SwitchFlyMode;
|
||||||
|
if (alt) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.AltAction;
|
||||||
|
if (primary) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.PrimaryAction;
|
||||||
|
if (secondary) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.SecondaryAction;
|
||||||
|
if (tertiary) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.TertiaryAction;
|
||||||
|
if (primaryRelease) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.PrimaryActionRelease;
|
||||||
|
if (primaryHeld) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.PrimaryActionHeld;
|
||||||
|
if (secondaryHeld) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.SecondaryActionHeld;
|
||||||
|
if (toggleUnitGrid) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.ToggleUnitGrid;
|
||||||
|
if (ctrl) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.CtrlAction;
|
||||||
|
if (toggleColourMode) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.ToggleColourMode;
|
||||||
|
if (scaleBlockUp) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.ScaleBlockUp;
|
||||||
|
if (scaleBlockDown) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.ScaleBlockDown;
|
||||||
|
if (rotateBlockClockwise) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.RotateBlockClockwise;
|
||||||
|
if (rotateBlockCounterclockwise) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.RotateBlockAnticlockwise;
|
||||||
|
if (cutSelection) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.CutSelection;
|
||||||
|
if (copySelection) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.CopySelection;
|
||||||
|
if (deleteSelection) currentInput.actionMask |= RobocraftX.Common.Input.ActionInput.DeleteSelection;
|
||||||
|
}
|
||||||
|
|
||||||
public static void Init()
|
public static void Init()
|
||||||
{
|
{
|
||||||
GameEngineManager.AddGameEngine(inputEngine);
|
GameEngineManager.AddGameEngine(inputEngine);
|
||||||
|
|
Loading…
Reference in a new issue