перенос файлов клиента из папки White в _White

This commit is contained in:
Remuchi
2024-01-28 17:32:55 +07:00
parent c80b10a688
commit 21dbccfec9
139 changed files with 345 additions and 434 deletions

View File

@@ -0,0 +1,64 @@
using Content.Client._White.Sponsors;
using Content.Client.Administration.Managers;
using Content.Client.UserInterface.Controls;
using Content.Client.UserInterface.Systems.MenuBar.Widgets;
using Content.Shared.Humanoid;
using Content.Shared.White.MeatyOre;
using Robust.Client.Player;
using Robust.Client.UserInterface.Controllers;
using Robust.Client.UserInterface.Controls;
using Robust.Shared.Timing;
namespace Content.Client._White.MeatyOre;
public sealed class MeatyOreUIController : UIController
{
[Dependency] private readonly IClientAdminManager _clientAdminManager = default!;
[Dependency] private readonly IEntityManager _entityManager = default!;
[Dependency] private readonly IPlayerManager _playerManager = default!;
[Dependency] private readonly IEntityNetworkManager _entityNetworkManager = default!;
[Dependency] private readonly SponsorsManager _sponsorsManager = default!;
private bool _buttonLoaded;
private MenuButton? MeatyOreButton => UIManager.GetActiveUIWidgetOrNull<GameTopMenuBar>()?.MeatyOreButton;
public void LoadButton()
{
MeatyOreButton!.OnPressed += MeatyOreButtonPressed;
_buttonLoaded = true;
}
public void UnloadButton()
{
MeatyOreButton!.OnPressed -= MeatyOreButtonPressed;
_buttonLoaded = false;
}
private void MeatyOreButtonPressed(BaseButton.ButtonEventArgs obj)
{
_entityNetworkManager.SendSystemNetworkMessage(new MeatyOreShopRequestEvent());
}
public override void FrameUpdate(FrameEventArgs args)
{
base.FrameUpdate(args);
if(!_buttonLoaded) return;
var shouldBeVisible = CheckButtonVisibility();
MeatyOreButton!.Visible = shouldBeVisible;
}
private bool CheckButtonVisibility()
{
if(!_sponsorsManager.TryGetInfo(out var sponsor)) return false;
if(sponsor?.Tier == null || sponsor?.MeatyOreCoin == 0) return false;
var controlledEntity = _playerManager!.LocalPlayer!.ControlledEntity;
if(controlledEntity == null) return false;
if (!_entityManager.HasComponent<HumanoidAppearanceComponent>(controlledEntity)) return false;
return true;
}
}