52 lines
1.1 KiB
C#
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,
|
|
}
|