Files
crystall-punk-14/Content.Client/_CP14/Trading/CP14TradingPlatformBoundUserInterface.cs
Red cde388f5dd Another Merchant gameplay attempt (#1308)
* setup UI

* setup debug data

* graph control setup

* reputation trade component

* unlocking logic

* smoe real reputation costing

* remove sponsors part, add trading specific UI nodes

* port to default pricing system

* buy cooldown

* fuck off trading cabinets

* real good cooldown UI

* Cool unlock sound

* reputation earning

* cool purchare sound

* coin & sprite work

* delete old guidebooks

* cool purcharing VFX

* better ui

* victoria gardens

* Update migration.yml

* Update migration.yml

* cooldown removed

* contracts

* Update migration.yml

* remove CP14Material

* materials appraise

* food appraise

* auto economy pricing system

* alchemy reagents appraise

* coins resprite

* alchemy appraise 2

* modular weapon appraise

* selling platform

* Update PricingSystem.cs

* Update CP14TradingPlatformSystem.cs

* merchants returns + map update

* Update CP14StationEconomySystem.Price.cs
2025-05-29 00:22:47 +03:00

33 lines
934 B
C#

using Content.Shared._CP14.Trading;
using Content.Shared._CP14.Trading.Systems;
using Robust.Client.UserInterface;
namespace Content.Client._CP14.Trading;
public sealed class CP14TradingPlatformBoundUserInterface(EntityUid owner, Enum uiKey) : BoundUserInterface(owner, uiKey)
{
private CP14TradingPlatformWindow? _window;
protected override void Open()
{
base.Open();
_window = this.CreateWindow<CP14TradingPlatformWindow>();
_window.OnUnlock += pos => SendMessage(new CP14TradingPositionUnlockAttempt(pos));
_window.OnBuy += pos => SendMessage(new CP14TradingPositionBuyAttempt(pos));
}
protected override void UpdateState(BoundUserInterfaceState state)
{
base.UpdateState(state);
switch (state)
{
case CP14TradingPlatformUiState storeState:
_window?.UpdateState(storeState);
break;
}
}
}