using Content.Server.Store.Systems; namespace Content.Server.Store.Components; // TODO: Refund on a per-item/action level. // Requires a refund button next to each purchase (disabled/invis by default) // Interactions with ActionUpgrades would need to be modified to reset all upgrade progress and return the original action purchase to the store. /// /// Keeps track of entities bought from stores for refunds, especially useful if entities get deleted before they can be refunded. /// [RegisterComponent, Access(typeof(StoreSystem))] public sealed partial class StoreRefundComponent : Component { /// /// The store this entity was bought from /// [DataField] public EntityUid? StoreEntity; /// /// The time this entity was bought /// [DataField] public TimeSpan? BoughtTime; /// /// How long until this entity disables refund purchase? /// [DataField] public TimeSpan DisableTime = TimeSpan.FromSeconds(300); }