* #3814 - dropping an item, which adds an action to the actions bar, will no longer leave weird ui glitch in actions bar * #3814 - small reformat + minor style tweaks * #3814 - bit better working ActionMenu locking + added missing toolips for ActionMenu lock and OpenAbilities button * #3814 - tooltip text typo fix * #3814 - incorporated suggestions * #3814 localization tweaks
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Content.Shared.Actions;
|
using Content.Shared.Actions;
|
||||||
using Content.Shared.Actions.Components;
|
using Content.Shared.Actions.Components;
|
||||||
@@ -45,7 +45,7 @@ namespace Content.Client.Actions.Assignments
|
|||||||
_numHotbars = numHotbars;
|
_numHotbars = numHotbars;
|
||||||
_numSlots = numSlots;
|
_numSlots = numSlots;
|
||||||
_assignments = new Dictionary<ActionAssignment, List<(byte Hotbar, byte Slot)>>();
|
_assignments = new Dictionary<ActionAssignment, List<(byte Hotbar, byte Slot)>>();
|
||||||
_slots = new ActionAssignment?[numHotbars,numSlots];
|
_slots = new ActionAssignment?[numHotbars, numSlots];
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -55,7 +55,8 @@ namespace Content.Client.Actions.Assignments
|
|||||||
/// which no longer have an associated state will be decoupled from their item.
|
/// which no longer have an associated state will be decoupled from their item.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void Reconcile(byte currentHotbar, IReadOnlyDictionary<ActionType, ActionState> actionStates,
|
public void Reconcile(byte currentHotbar, IReadOnlyDictionary<ActionType, ActionState> actionStates,
|
||||||
IReadOnlyDictionary<EntityUid,Dictionary<ItemActionType, ActionState>> itemActionStates)
|
IReadOnlyDictionary<EntityUid, Dictionary<ItemActionType, ActionState>> itemActionStates,
|
||||||
|
bool actionMenuLocked)
|
||||||
{
|
{
|
||||||
// if we've been granted any actions which have no assignment to any hotbar, we must auto-populate them
|
// if we've been granted any actions which have no assignment to any hotbar, we must auto-populate them
|
||||||
// into the hotbar so the user knows about them.
|
// into the hotbar so the user knows about them.
|
||||||
@@ -116,9 +117,19 @@ namespace Content.Client.Actions.Assignments
|
|||||||
{
|
{
|
||||||
foreach (var (hotbar, slot) in slots)
|
foreach (var (hotbar, slot) in slots)
|
||||||
{
|
{
|
||||||
if (!assignment.TryGetItemActionWithItem(out var actionType, out _)) continue;
|
if (!assignment.TryGetItemActionWithItem(out var actionType, out _))
|
||||||
AssignSlot(hotbar, slot,
|
{
|
||||||
ActionAssignment.For(actionType));
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (actionMenuLocked)
|
||||||
|
{
|
||||||
|
AssignSlot(hotbar, slot, ActionAssignment.For(actionType));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ClearSlot(hotbar, slot, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -190,7 +201,7 @@ namespace Content.Client.Actions.Assignments
|
|||||||
}
|
}
|
||||||
var assignmentList = _assignments[currentAction.Value];
|
var assignmentList = _assignments[currentAction.Value];
|
||||||
assignmentList = assignmentList.Where(a => a.Hotbar != hotbar || a.Slot != slot).ToList();
|
assignmentList = assignmentList.Where(a => a.Hotbar != hotbar || a.Slot != slot).ToList();
|
||||||
if (assignmentList.Count == 0)
|
if (!assignmentList.Any())
|
||||||
{
|
{
|
||||||
_assignments.Remove(currentAction.Value);
|
_assignments.Remove(currentAction.Value);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ namespace Content.Client.Actions
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Assignments.Reconcile(_ui.SelectedHotbar, ActionStates(), ItemActionStates());
|
Assignments.Reconcile(_ui.SelectedHotbar, ActionStates(), ItemActionStates(), _ui.Locked);
|
||||||
|
|
||||||
_ui.UpdateUI();
|
_ui.UpdateUI();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ using Robust.Shared.GameObjects;
|
|||||||
using Robust.Shared.Input;
|
using Robust.Shared.Input;
|
||||||
using Robust.Shared.Input.Binding;
|
using Robust.Shared.Input.Binding;
|
||||||
using Robust.Shared.IoC;
|
using Robust.Shared.IoC;
|
||||||
|
using Robust.Shared.Localization;
|
||||||
using Robust.Shared.Log;
|
using Robust.Shared.Log;
|
||||||
using Robust.Shared.Timing;
|
using Robust.Shared.Timing;
|
||||||
|
|
||||||
@@ -25,6 +26,7 @@ namespace Content.Client.Actions.UI
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public sealed class ActionsUI : Container
|
public sealed class ActionsUI : Container
|
||||||
{
|
{
|
||||||
|
private const float CustomTooltipDelay = 0.4f;
|
||||||
private readonly ClientActionsComponent _actionsComponent;
|
private readonly ClientActionsComponent _actionsComponent;
|
||||||
private readonly ActionManager _actionManager;
|
private readonly ActionManager _actionManager;
|
||||||
private readonly IEntityManager _entityManager;
|
private readonly IEntityManager _entityManager;
|
||||||
@@ -128,7 +130,9 @@ namespace Content.Client.Actions.UI
|
|||||||
HorizontalAlignment = HAlignment.Center,
|
HorizontalAlignment = HAlignment.Center,
|
||||||
VerticalAlignment = VAlignment.Center,
|
VerticalAlignment = VAlignment.Center,
|
||||||
SizeFlagsStretchRatio = 1,
|
SizeFlagsStretchRatio = 1,
|
||||||
Scale = (0.5f, 0.5f)
|
Scale = (0.5f, 0.5f),
|
||||||
|
ToolTip = Loc.GetString("ui-actionmenu-function-lock-action-slots"),
|
||||||
|
TooltipDelay = CustomTooltipDelay
|
||||||
};
|
};
|
||||||
settingsContainer.AddChild(_lockButton);
|
settingsContainer.AddChild(_lockButton);
|
||||||
settingsContainer.AddChild(new Control { HorizontalExpand = true, SizeFlagsStretchRatio = 2 });
|
settingsContainer.AddChild(new Control { HorizontalExpand = true, SizeFlagsStretchRatio = 2 });
|
||||||
@@ -138,7 +142,9 @@ namespace Content.Client.Actions.UI
|
|||||||
HorizontalAlignment = HAlignment.Center,
|
HorizontalAlignment = HAlignment.Center,
|
||||||
VerticalAlignment = VAlignment.Center,
|
VerticalAlignment = VAlignment.Center,
|
||||||
SizeFlagsStretchRatio = 1,
|
SizeFlagsStretchRatio = 1,
|
||||||
Scale = (0.5f, 0.5f)
|
Scale = (0.5f, 0.5f),
|
||||||
|
ToolTip = Loc.GetString("ui-actionmenu-function-open-abilities-menu"),
|
||||||
|
TooltipDelay = CustomTooltipDelay
|
||||||
};
|
};
|
||||||
settingsContainer.AddChild(_settingsButton);
|
settingsContainer.AddChild(_settingsButton);
|
||||||
settingsContainer.AddChild(new Control { HorizontalExpand = true, SizeFlagsStretchRatio = 1 });
|
settingsContainer.AddChild(new Control { HorizontalExpand = true, SizeFlagsStretchRatio = 1 });
|
||||||
|
|||||||
4
Resources/Locale/en-US/ui/actionmenu.ftl
Normal file
4
Resources/Locale/en-US/ui/actionmenu.ftl
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Action menu stuff (left panel, with hotbars etc)
|
||||||
|
|
||||||
|
ui-actionmenu-function-lock-action-slots = (Un)lock dragging and clearing action slots
|
||||||
|
ui-actionmenu-function-open-abilities-menu = Open action menu
|
||||||
@@ -99,6 +99,17 @@ ui-options-function-open-admin-menu = Open admin menu
|
|||||||
ui-options-function-take-screenshot = Take screenshot
|
ui-options-function-take-screenshot = Take screenshot
|
||||||
ui-options-function-take-screenshot-no-ui = Take screenshot (without UI)
|
ui-options-function-take-screenshot-no-ui = Take screenshot (without UI)
|
||||||
|
|
||||||
|
ui-options-function-editor-place-object = Place object
|
||||||
|
ui-options-function-editor-cancel-place = Cancel placement
|
||||||
|
ui-options-function-editor-grid-place = Place in grid
|
||||||
|
ui-options-function-editor-line-place = Place line
|
||||||
|
ui-options-function-editor-rotate-object = Rotate
|
||||||
|
|
||||||
|
ui-options-function-open-abilities-menu = Open action menu
|
||||||
|
ui-options-function-show-debug-console = Open Console
|
||||||
|
ui-options-function-show-debug-monitors = Show Debug Monitors
|
||||||
|
ui-options-function-hide-ui = Hide UI
|
||||||
|
|
||||||
ui-options-function-hotbar1 = Hotbar slot 1
|
ui-options-function-hotbar1 = Hotbar slot 1
|
||||||
ui-options-function-hotbar2 = Hotbar slot 2
|
ui-options-function-hotbar2 = Hotbar slot 2
|
||||||
ui-options-function-hotbar3 = Hotbar slot 3
|
ui-options-function-hotbar3 = Hotbar slot 3
|
||||||
@@ -118,13 +129,3 @@ ui-options-function-loadout6 = Hotbar Loadout 6
|
|||||||
ui-options-function-loadout7 = Hotbar Loadout 7
|
ui-options-function-loadout7 = Hotbar Loadout 7
|
||||||
ui-options-function-loadout8 = Hotbar Loadout 8
|
ui-options-function-loadout8 = Hotbar Loadout 8
|
||||||
ui-options-function-loadout9 = Hotbar Loadout 9
|
ui-options-function-loadout9 = Hotbar Loadout 9
|
||||||
|
|
||||||
ui-options-function-editor-place-object = Place object
|
|
||||||
ui-options-function-editor-cancel-place = Cancel placement
|
|
||||||
ui-options-function-editor-grid-place = Place in grid
|
|
||||||
ui-options-function-editor-line-place = Place line
|
|
||||||
ui-options-function-editor-rotate-object = Rotate
|
|
||||||
|
|
||||||
ui-options-function-show-debug-console = Open Console
|
|
||||||
ui-options-function-show-debug-monitors = Show Debug Monitors
|
|
||||||
ui-options-function-hide-ui = Hide UI
|
|
||||||
|
|||||||
Reference in New Issue
Block a user