* Fix #6154 This is a web edit * This is not a web edit (It's still broken) * Fix more missing files from the patch
This commit is contained in:
@@ -7,6 +7,7 @@ using Content.Shared.GameTicking;
|
||||
using Content.Shared.Inventory;
|
||||
using Content.Shared.Preferences;
|
||||
using Content.Shared.Roles;
|
||||
using Content.Shared.Species;
|
||||
using Robust.Client.GameObjects;
|
||||
using Robust.Client.UserInterface;
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
@@ -24,17 +25,21 @@ namespace Content.Client.Lobby.UI
|
||||
{
|
||||
private readonly IEntityManager _entMan;
|
||||
private readonly IClientPreferencesManager _preferencesManager;
|
||||
private EntityUid _previewDummy;
|
||||
private readonly IPrototypeManager _prototypeManager;
|
||||
private EntityUid? _previewDummy;
|
||||
private string? _previewDummySpecies;
|
||||
private readonly Label _summaryLabel;
|
||||
private readonly BoxContainer _loaded;
|
||||
private readonly BoxContainer _viewBox;
|
||||
private readonly Label _unloaded;
|
||||
|
||||
public LobbyCharacterPreviewPanel(IEntityManager entityManager,
|
||||
IClientPreferencesManager preferencesManager)
|
||||
IClientPreferencesManager preferencesManager,
|
||||
IPrototypeManager prototypeManager)
|
||||
{
|
||||
_entMan = entityManager;
|
||||
_preferencesManager = preferencesManager;
|
||||
_previewDummy = entityManager.SpawnEntity("MobHumanDummy", MapCoordinates.Nullspace);
|
||||
_prototypeManager = prototypeManager;
|
||||
|
||||
var header = new NanoHeading
|
||||
{
|
||||
@@ -49,11 +54,6 @@ namespace Content.Client.Lobby.UI
|
||||
|
||||
_summaryLabel = new Label();
|
||||
|
||||
var viewSouth = MakeSpriteView(_previewDummy, Direction.South);
|
||||
var viewNorth = MakeSpriteView(_previewDummy, Direction.North);
|
||||
var viewWest = MakeSpriteView(_previewDummy, Direction.West);
|
||||
var viewEast = MakeSpriteView(_previewDummy, Direction.East);
|
||||
|
||||
var vBox = new BoxContainer
|
||||
{
|
||||
Orientation = LayoutOrientation.Vertical
|
||||
@@ -61,7 +61,7 @@ namespace Content.Client.Lobby.UI
|
||||
|
||||
vBox.AddChild(header);
|
||||
|
||||
_unloaded = new Label {Text = Loc.GetString("lobby-character-preview-panel-unloaded-preferences-label")};
|
||||
_unloaded = new Label { Text = Loc.GetString("lobby-character-preview-panel-unloaded-preferences-label") };
|
||||
|
||||
_loaded = new BoxContainer
|
||||
{
|
||||
@@ -72,16 +72,12 @@ namespace Content.Client.Lobby.UI
|
||||
_loaded.AddChild(CharacterSetupButton);
|
||||
_loaded.AddChild(_summaryLabel);
|
||||
|
||||
var hBox = new BoxContainer
|
||||
_viewBox = new BoxContainer
|
||||
{
|
||||
Orientation = LayoutOrientation.Horizontal
|
||||
};
|
||||
hBox.AddChild(viewSouth);
|
||||
hBox.AddChild(viewNorth);
|
||||
hBox.AddChild(viewWest);
|
||||
hBox.AddChild(viewEast);
|
||||
|
||||
_loaded.AddChild(hBox);
|
||||
_loaded.AddChild(_viewBox);
|
||||
|
||||
vBox.AddChild(_loaded);
|
||||
vBox.AddChild(_unloaded);
|
||||
@@ -100,7 +96,7 @@ namespace Content.Client.Lobby.UI
|
||||
_preferencesManager.OnServerDataLoaded -= UpdateUI;
|
||||
|
||||
if (!disposing) return;
|
||||
_entMan.DeleteEntity(_previewDummy);
|
||||
if (_previewDummy != null) _entMan.DeleteEntity(_previewDummy.Value);
|
||||
_previewDummy = default;
|
||||
}
|
||||
|
||||
@@ -131,9 +127,19 @@ namespace Content.Client.Lobby.UI
|
||||
}
|
||||
else
|
||||
{
|
||||
_previewDummy = _entMan.SpawnEntity(_prototypeManager.Index<SpeciesPrototype>(selectedCharacter.Species).DollPrototype, MapCoordinates.Nullspace);
|
||||
var viewSouth = MakeSpriteView(_previewDummy.Value, Direction.South);
|
||||
var viewNorth = MakeSpriteView(_previewDummy.Value, Direction.North);
|
||||
var viewWest = MakeSpriteView(_previewDummy.Value, Direction.West);
|
||||
var viewEast = MakeSpriteView(_previewDummy.Value, Direction.East);
|
||||
_viewBox.DisposeAllChildren();
|
||||
_viewBox.AddChild(viewSouth);
|
||||
_viewBox.AddChild(viewNorth);
|
||||
_viewBox.AddChild(viewWest);
|
||||
_viewBox.AddChild(viewEast);
|
||||
_summaryLabel.Text = selectedCharacter.Summary;
|
||||
EntitySystem.Get<SharedHumanoidAppearanceSystem>().UpdateFromProfile(_previewDummy, selectedCharacter);
|
||||
GiveDummyJobClothes(_previewDummy, selectedCharacter);
|
||||
EntitySystem.Get<SharedHumanoidAppearanceSystem>().UpdateFromProfile(_previewDummy.Value, selectedCharacter);
|
||||
GiveDummyJobClothes(_previewDummy.Value, selectedCharacter);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -156,7 +162,7 @@ namespace Content.Client.Lobby.UI
|
||||
foreach (var slot in slots)
|
||||
{
|
||||
var itemType = gear.GetGear(slot.Name, profile);
|
||||
if(invSystem.TryUnequip(dummy, slot.Name, out var unequippedItem, true, true))
|
||||
if (invSystem.TryUnequip(dummy, slot.Name, out var unequippedItem, true, true))
|
||||
{
|
||||
entMan.DeleteEntity(unequippedItem.Value);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Content.Client.Chat.UI;
|
||||
using Content.Client.Chat.UI;
|
||||
using Content.Client.Info;
|
||||
using Content.Client.Preferences;
|
||||
using Robust.Client.AutoGenerated;
|
||||
@@ -7,7 +7,9 @@ using Robust.Client.UserInterface;
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
using Robust.Client.UserInterface.XAML;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.IoC;
|
||||
using Robust.Shared.Maths;
|
||||
using Robust.Shared.Prototypes;
|
||||
using static Robust.Client.UserInterface.Controls.BoxContainer;
|
||||
|
||||
namespace Content.Client.Lobby.UI
|
||||
@@ -27,7 +29,8 @@ namespace Content.Client.Lobby.UI
|
||||
|
||||
CharacterPreview = new LobbyCharacterPreviewPanel(
|
||||
entityManager,
|
||||
preferencesManager)
|
||||
preferencesManager,
|
||||
IoCManager.Resolve<IPrototypeManager>())
|
||||
{
|
||||
HorizontalAlignment = HAlignment.Left
|
||||
};
|
||||
@@ -46,7 +49,7 @@ namespace Content.Client.Lobby.UI
|
||||
{
|
||||
var panel = new PanelContainer()
|
||||
{
|
||||
PanelOverride = new StyleBoxFlat {BackgroundColor = Color.FromHex("#202028")},
|
||||
PanelOverride = new StyleBoxFlat { BackgroundColor = Color.FromHex("#202028") },
|
||||
};
|
||||
_vBox = new BoxContainer
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user