mirror of
https://github.com/DeltaV-Station/Delta-v.git
synced 2026-10-04 05:17:28 +00:00
* Initial radial menu prototyping for the RCD
* Radial UI buttons can send messages to the server
* Beginning to update RCDSystem
* RCD building system in progress
* Further updates
* Added extra effects, RCDSystem now reads RCD prototype data
* Replacing tiles is instant, multiple constructions are allowed, deconstruction is broken
* Added extra functionality to RadialContainers plus documentation
* Fixed localization of RCD UI strings
* Menu opens near cursor, added basic RCD
* Avoiding merge conflict
* Implemented atomized construction / deconstruction rules
* Increased RCD ammo base charges
* Moved input context definition to content
* Removed obsoleted code
* Updates to system
* Switch machine and computer frames for electrical cabling
* Added construction ghosts
* Fixed issue with keybind detection code
* Fixed RCD construction ghost mispredications
* Code clean up
* Updated deconstruction effects
* RCDs effects don't rotate
* Code clean up
* Balancing for ammo counts
* Code clean up
* Added missing localized strings
* More clean up
* Made directional window handling more robust
* Added documentation to radial menus and made them no longer dependent on Content
* Made radial containers more robust
* Further robustness to the radial menu
* The RCD submenu buttons are only shown when the destination layer has at least one children
* Expanded upon deconstructing plus construction balance
* Fixed line endings
* Updated list of RCD deconstructable entities. Now needs a component to deconstruct instead of a tag
* Bug fixes
* Revert unnecessary change
* Updated RCD strings
* Fixed bug
* More fixes
* Deconstructed tiles/subflooring convert to lattice instead
* Fixed failed tests (Linux doesn't like invalid spritespecifer paths)
* Fixing merge conflict
* Updated airlock assembly
* Fixing merge conflict
* Fixing merge conflict
* More fixing...
* Removed erroneous project file change
* Fixed string handling issue
* Trying to fix merge conflict
* Still fixing merge conflicts
* Balancing
* Hidden RCD construction ghosts when in 'build' mode
* Fixing merge conflict
* Implemented requested changes (Part 1)
* Added more requested changes
* Fix for failed test. Removed sussy null suppression
* Made requested changes - custom construction ghost system was replaced
* Fixing merge conflict
* Fixed merge conflict
* Fixed bug in RCD construction ghost validation
* Fixing merge conflict
* Merge conflict fixed
* Made required update
* Removed lingering RCD deconstruct tag
* Fixing merge conflict
* Merge conflict fixed
* Made requested changes
* Bug fixes and balancing
* Made string names more consistent
* Can no longer stack catwalks
(cherry picked from commit 02273ca0e7)
124 lines
6.6 KiB
C#
124 lines
6.6 KiB
C#
using Content.Shared.Input;
|
|
using Robust.Shared.Input;
|
|
|
|
namespace Content.Client.Input
|
|
{
|
|
/// <summary>
|
|
/// Contains a helper function for setting up all content
|
|
/// contexts, and modifying existing engine ones.
|
|
/// </summary>
|
|
public static class ContentContexts
|
|
{
|
|
public static void SetupContexts(IInputContextContainer contexts)
|
|
{
|
|
var common = contexts.GetContext("common");
|
|
common.AddFunction(ContentKeyFunctions.FocusChat);
|
|
common.AddFunction(ContentKeyFunctions.FocusLocalChat);
|
|
common.AddFunction(ContentKeyFunctions.FocusEmote);
|
|
common.AddFunction(ContentKeyFunctions.FocusWhisperChat);
|
|
common.AddFunction(ContentKeyFunctions.FocusRadio);
|
|
common.AddFunction(ContentKeyFunctions.FocusLOOC);
|
|
common.AddFunction(ContentKeyFunctions.FocusOOC);
|
|
common.AddFunction(ContentKeyFunctions.FocusAdminChat);
|
|
common.AddFunction(ContentKeyFunctions.FocusConsoleChat);
|
|
common.AddFunction(ContentKeyFunctions.FocusDeadChat);
|
|
common.AddFunction(ContentKeyFunctions.CycleChatChannelForward);
|
|
common.AddFunction(ContentKeyFunctions.CycleChatChannelBackward);
|
|
common.AddFunction(ContentKeyFunctions.EscapeContext);
|
|
common.AddFunction(ContentKeyFunctions.ExamineEntity);
|
|
common.AddFunction(ContentKeyFunctions.OpenAHelp);
|
|
common.AddFunction(ContentKeyFunctions.TakeScreenshot);
|
|
common.AddFunction(ContentKeyFunctions.TakeScreenshotNoUI);
|
|
common.AddFunction(ContentKeyFunctions.ToggleFullscreen);
|
|
common.AddFunction(ContentKeyFunctions.MoveStoredItem);
|
|
common.AddFunction(ContentKeyFunctions.RotateStoredItem);
|
|
common.AddFunction(ContentKeyFunctions.SaveItemLocation);
|
|
common.AddFunction(ContentKeyFunctions.Point);
|
|
common.AddFunction(ContentKeyFunctions.ZoomOut);
|
|
common.AddFunction(ContentKeyFunctions.ZoomIn);
|
|
common.AddFunction(ContentKeyFunctions.ResetZoom);
|
|
common.AddFunction(ContentKeyFunctions.InspectEntity);
|
|
|
|
// Not in engine, because engine cannot check for sanbox/admin status before starting placement.
|
|
common.AddFunction(ContentKeyFunctions.EditorCopyObject);
|
|
|
|
// Not in engine because the engine doesn't understand what a flipped object is
|
|
common.AddFunction(ContentKeyFunctions.EditorFlipObject);
|
|
|
|
// Not in engine so that the RCD can rotate objects
|
|
common.AddFunction(EngineKeyFunctions.EditorRotateObject);
|
|
|
|
var human = contexts.GetContext("human");
|
|
human.AddFunction(EngineKeyFunctions.MoveUp);
|
|
human.AddFunction(EngineKeyFunctions.MoveDown);
|
|
human.AddFunction(EngineKeyFunctions.MoveLeft);
|
|
human.AddFunction(EngineKeyFunctions.MoveRight);
|
|
human.AddFunction(EngineKeyFunctions.Walk);
|
|
human.AddFunction(ContentKeyFunctions.SwapHands);
|
|
human.AddFunction(ContentKeyFunctions.Drop);
|
|
human.AddFunction(ContentKeyFunctions.UseItemInHand);
|
|
human.AddFunction(ContentKeyFunctions.AltUseItemInHand);
|
|
human.AddFunction(ContentKeyFunctions.OpenCharacterMenu);
|
|
human.AddFunction(ContentKeyFunctions.ActivateItemInWorld);
|
|
human.AddFunction(ContentKeyFunctions.ThrowItemInHand);
|
|
human.AddFunction(ContentKeyFunctions.AltActivateItemInWorld);
|
|
human.AddFunction(ContentKeyFunctions.TryPullObject);
|
|
human.AddFunction(ContentKeyFunctions.MovePulledObject);
|
|
human.AddFunction(ContentKeyFunctions.ReleasePulledObject);
|
|
human.AddFunction(ContentKeyFunctions.OpenCraftingMenu);
|
|
human.AddFunction(ContentKeyFunctions.OpenInventoryMenu);
|
|
human.AddFunction(ContentKeyFunctions.SmartEquipBackpack);
|
|
human.AddFunction(ContentKeyFunctions.SmartEquipBelt);
|
|
human.AddFunction(ContentKeyFunctions.OpenBackpack);
|
|
human.AddFunction(ContentKeyFunctions.OpenBelt);
|
|
human.AddFunction(ContentKeyFunctions.MouseMiddle);
|
|
human.AddFunction(ContentKeyFunctions.ArcadeUp);
|
|
human.AddFunction(ContentKeyFunctions.ArcadeDown);
|
|
human.AddFunction(ContentKeyFunctions.ArcadeLeft);
|
|
human.AddFunction(ContentKeyFunctions.ArcadeRight);
|
|
human.AddFunction(ContentKeyFunctions.Arcade1);
|
|
human.AddFunction(ContentKeyFunctions.Arcade2);
|
|
human.AddFunction(ContentKeyFunctions.Arcade3);
|
|
|
|
// actions should be common (for ghosts, mobs, etc)
|
|
common.AddFunction(ContentKeyFunctions.OpenActionsMenu);
|
|
|
|
foreach (var boundKey in ContentKeyFunctions.GetHotbarBoundKeys())
|
|
{
|
|
common.AddFunction(boundKey);
|
|
}
|
|
|
|
var aghost = contexts.New("aghost", "common");
|
|
aghost.AddFunction(EngineKeyFunctions.MoveUp);
|
|
aghost.AddFunction(EngineKeyFunctions.MoveDown);
|
|
aghost.AddFunction(EngineKeyFunctions.MoveLeft);
|
|
aghost.AddFunction(EngineKeyFunctions.MoveRight);
|
|
aghost.AddFunction(EngineKeyFunctions.Walk);
|
|
aghost.AddFunction(ContentKeyFunctions.SwapHands);
|
|
aghost.AddFunction(ContentKeyFunctions.Drop);
|
|
aghost.AddFunction(ContentKeyFunctions.UseItemInHand);
|
|
aghost.AddFunction(ContentKeyFunctions.AltUseItemInHand);
|
|
aghost.AddFunction(ContentKeyFunctions.ActivateItemInWorld);
|
|
aghost.AddFunction(ContentKeyFunctions.ThrowItemInHand);
|
|
aghost.AddFunction(ContentKeyFunctions.AltActivateItemInWorld);
|
|
aghost.AddFunction(ContentKeyFunctions.TryPullObject);
|
|
aghost.AddFunction(ContentKeyFunctions.MovePulledObject);
|
|
aghost.AddFunction(ContentKeyFunctions.ReleasePulledObject);
|
|
|
|
var ghost = contexts.New("ghost", "human");
|
|
ghost.AddFunction(EngineKeyFunctions.MoveUp);
|
|
ghost.AddFunction(EngineKeyFunctions.MoveDown);
|
|
ghost.AddFunction(EngineKeyFunctions.MoveLeft);
|
|
ghost.AddFunction(EngineKeyFunctions.MoveRight);
|
|
ghost.AddFunction(EngineKeyFunctions.Walk);
|
|
|
|
common.AddFunction(ContentKeyFunctions.OpenEntitySpawnWindow);
|
|
common.AddFunction(ContentKeyFunctions.OpenSandboxWindow);
|
|
common.AddFunction(ContentKeyFunctions.OpenTileSpawnWindow);
|
|
common.AddFunction(ContentKeyFunctions.OpenDecalSpawnWindow);
|
|
common.AddFunction(ContentKeyFunctions.OpenAdminMenu);
|
|
common.AddFunction(ContentKeyFunctions.OpenGuidebook);
|
|
}
|
|
}
|
|
}
|