6
2026-01-24 12:49:55 +03:00

52 lines
1.1 KiB
C#

using Content.Shared._NF.Bank.Components;
using Robust.Shared.Serialization;
namespace Content.Shared._NF.Bank.BUI;
[Serializable, NetSerializable]
public sealed class NFLedgerState : BoundUserInterfaceState
{
public readonly NFLedgerEntry[] Entries;
public NFLedgerState(NFLedgerEntry[] entries)
{
Entries = entries;
}
}
[Serializable, NetSerializable]
public struct NFLedgerEntry
{
public SectorBankAccount Account;
public LedgerEntryType Type;
public int Amount;
}
public enum LedgerEntryType : byte
{
// Income entries
TickingIncome,
VendorTax,
CargoTax,
MailDelivered,
BlackMarketAtmTax,
BlackMarketShipyardTax,
BluespaceReward,
AntiSmugglingBonus,
MedicalBountyTax,
PowerTransmission,
StationDepositFines,
StationDepositDonation,
StationDepositAssetsSold,
StationDepositOther,
// Expense entries
MailPenalty,
ShuttleRecordFees,
StationWithdrawalPayroll,
StationWithdrawalWorkOrder,
StationWithdrawalSupplies,
StationWithdrawalBounty,
StationWithdrawalOther,
// Utility values
FirstExpense = MailPenalty,
}