Class ForSaleComponent
A component that allows purchase + pickup of a world object.
Inheritance
System.Object
ForSaleComponent
Implements
System.ComponentModel.INotifyPropertyChanged
Assembly: Eco.Gameplay.dll
Syntax
[MayHaveComponent]
[MayHaveComponent]
public class ForSaleComponent : WorldObjectComponent, ILinkable, IOwned, IController, IViewController, IHasUniversalID, IHasSerializableID, IRPCAuthChecks, INotifyPropertyChanged, IThreadSafeSubscriptions, ISubscriptions<ThreadSafeSubscriptions>, ISubscriptions, IHasInteractions, IHasEnvVars, IPersistentData, IHasTradeOffers
Constructors
ForSaleComponent()
Declaration
public ForSaleComponent()
Fields
SellEvents
Declaration
public ThreadSafeList<Func<Result>> SellEvents
Field Value
SoldEvent
Declaration
public ThreadSafeAction<User, Currency, float, LocString> SoldEvent
Field Value
Properties
CanBuy
Can only buy it if its for sale, has valid props, and user isnt already an owner (unless force enabled)
Declaration
[EnvVar]
public bool CanBuy { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
Currency
Declaration
public Currency Currency { get; set; }
Property Value
ForSale
Declaration
[EnvVar]
public bool ForSale { get; set; }
Property Value
| Type |
Description |
| System.Boolean |
|
HasDurability
Declaration
public bool HasDurability { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
HasIntegrity
Declaration
public bool HasIntegrity { get; }
Property Value
| Type |
Description |
| System.Boolean |
|
MinDurability
Declaration
public float MinDurability { get; set; }
Property Value
| Type |
Description |
| System.Single |
|
MinIntegrity
Declaration
public float MinIntegrity { get; set; }
Property Value
| Type |
Description |
| System.Single |
|
Note
Declaration
public string Note { get; set; }
Property Value
| Type |
Description |
| System.String |
|
PersistentData
Declaration
public object PersistentData { get; set; }
Property Value
| Type |
Description |
| System.Object |
|
Price
Declaration
public float Price { get; set; }
Property Value
| Type |
Description |
| System.Single |
|
RestockFromStorage
Declaration
public bool RestockFromStorage { get; set; }
Property Value
| Type |
Description |
| System.Boolean |
|
SaleData
Declaration
public ForSaleData SaleData { get; set; }
Property Value
SalePriceString
Declaration
[EnvVar]
public string SalePriceString { get; }
Property Value
| Type |
Description |
| System.String |
|
SellersAccount
Declaration
public BankAccount SellersAccount { get; set; }
Property Value
ShowSellInteraction
Declaration
[EnvVar]
public bool ShowSellInteraction { get; set; }
Property Value
| Type |
Description |
| System.Boolean |
|
TagPosition
Declaration
public Vector3 TagPosition { get; set; }
Property Value
| Type |
Description |
| System.Numerics.Vector3 |
|
TagRotation
Declaration
public float TagRotation { get; set; }
Property Value
| Type |
Description |
| System.Single |
|
Title
Declaration
public LocString Title { get; set; }
Property Value
TradeOffer
Declaration
public TradeOffer TradeOffer { get; set; }
Property Value
Methods
AdjustPrice(Player, InteractionTriggerInfo, InteractionTarget)
Declaration
[Interaction]
public void AdjustPrice(Player player, InteractionTriggerInfo trigger, InteractionTarget target)
Parameters
Buy(User)
Declaration
public Task Buy(User user)
Parameters
| Type |
Name |
Description |
| User |
user |
|
Returns
| Type |
Description |
| System.Threading.Tasks.Task |
|
BuyInteraction(Player, InteractionTriggerInfo, InteractionTarget)
Declaration
[Interaction]
public void BuyInteraction(Player player, InteractionTriggerInfo trigger, InteractionTarget target)
Parameters
Destroy()
Declaration
public override void Destroy()
Overrides
Initialize()
Declaration
public override void Initialize()
Overrides
MarkAllChanged()
Declaration
public void MarkAllChanged()
OnAfterObjectMoved()
Declaration
public override void OnAfterObjectMoved()
Overrides
OnComponentAddedPostInit(WorldObjectComponent)
Declaration
public override void OnComponentAddedPostInit(WorldObjectComponent c)
Parameters
Overrides
SetConfig(ForSaleComponent.SaleTypes, Func<LocString>, Func<Item>)
Config how this for-sale component works.
Declaration
public void SetConfig(ForSaleComponent.SaleTypes saleType, Func<LocString> customDescription = null, Func<Item> itemPickedUp = null)
Parameters
SetCurrency(User, Currency)
Declaration
public void SetCurrency(User user, Currency currency)
Parameters
SetForSale(User, Boolean)
Declaration
public void SetForSale(User user, bool forSale)
Parameters
| Type |
Name |
Description |
| User |
user |
|
| System.Boolean |
forSale |
|
SetForSaleInteraction(Player, InteractionTriggerInfo, InteractionTarget)
Declaration
[Interaction]
public void SetForSaleInteraction(Player player, InteractionTriggerInfo trigger, InteractionTarget target)
Parameters
SetSellersAccount(User, BankAccount)
Declaration
public void SetSellersAccount(User user, BankAccount account)
Parameters
Explicit Interface Implementations
IHasTradeOffers.AllOffers
Declaration
IEnumerable<TradeOffer> IHasTradeOffers.AllOffers { get; }
Returns
| Type |
Description |
| System.Collections.Generic.IEnumerable<TradeOffer> |
|
IHasTradeOffers.Balance
Declaration
float IHasTradeOffers.Balance { get; }
Returns
| Type |
Description |
| System.Single |
|
IHasTradeOffers.EnabledForTrades
Declaration
bool IHasTradeOffers.EnabledForTrades { get; }
Returns
| Type |
Description |
| System.Boolean |
|
IHasTradeOffers.IsBarter
Declaration
bool IHasTradeOffers.IsBarter { get; }
Returns
| Type |
Description |
| System.Boolean |
|
IHasTradeOffers.Owners
Declaration
IAlias IHasTradeOffers.Owners { get; }
Returns
IHasTradeOffers.Parent
Declaration
WorldObject IHasTradeOffers.Parent { get; }
Returns
IHasTradeOffers.SoldOutNotice
Declaration
LocString IHasTradeOffers.SoldOutNotice { get; }
Returns
IHasTradeOffers.SourceName
Declaration
LocString IHasTradeOffers.SourceName { get; }
Returns
Implements
System.ComponentModel.INotifyPropertyChanged
Extension Methods