Show / Hide Table of Contents

Class ForSaleComponent

A component that allows purchase + pickup of a world object.

Inheritance
System.Object
WorldObjectComponent
ForSaleComponent
Implements
ILinkable
IOwned
IController
IViewController
IHasUniversalID
IHasSerializableID
IRPCAuthChecks
System.ComponentModel.INotifyPropertyChanged
IThreadSafeSubscriptions
ISubscriptions<ThreadSafeSubscriptions>
ISubscriptions
IHasInteractions
IHasEnvVars
IPersistentData
IHasTradeOffers
Inherited Members
WorldObjectComponent.IsRPCAuthorized(IWorldObserver, AccessType, Object[])
WorldObjectComponent.PostInitialize()
WorldObjectComponent.OnCreate()
WorldObjectComponent.Tick()
WorldObjectComponent.LateTick()
WorldObjectComponent.TryPickup(Player, InventoryChangeSet, Inventory, Boolean)
WorldObjectComponent.OnPickup(Player)
WorldObjectComponent.OnBeforeObjectMoved()
WorldObjectComponent.OnLinkClicked(TooltipOrigin, TooltipClickContext, User)
WorldObjectComponent.UILinkContent()
WorldObjectComponent.Parent
WorldObjectComponent.Name
WorldObjectComponent.IconName
WorldObjectComponent.ForceActiveTab
WorldObjectComponent.ComponentPrefabName
WorldObjectComponent.ComponentTabName
WorldObjectComponent.Enabled
WorldObjectComponent.IsDestroyed
WorldObjectComponent.Availability
WorldObjectComponent.ShouldRequestEverything
WorldObjectComponent.Owners
WorldObjectComponent.ControllerID
WorldObjectComponent.IOwned.Deed
WorldObjectComponent.Subscriptions
WorldObjectComponent.PropertyChanged
Namespace: Eco.Gameplay.Components
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
Type Description
ThreadSafeList<System.Func<Result>>

SoldEvent

Declaration
public ThreadSafeAction<User, Currency, float, LocString> SoldEvent
Field Value
Type Description
ThreadSafeAction<User, Currency, System.Single, LocString>

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
Type Description
Currency

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
Type Description
ForSaleData

SalePriceString

Declaration
[EnvVar]
public string SalePriceString { get; }
Property Value
Type Description
System.String

SellersAccount

Declaration
public BankAccount SellersAccount { get; set; }
Property Value
Type Description
BankAccount

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
Type Description
LocString

TradeOffer

Declaration
public TradeOffer TradeOffer { get; set; }
Property Value
Type Description
TradeOffer

Methods

AdjustPrice(Player, InteractionTriggerInfo, InteractionTarget)

Declaration
[Interaction]
public void AdjustPrice(Player player, InteractionTriggerInfo trigger, InteractionTarget target)
Parameters
Type Name Description
Player player
InteractionTriggerInfo trigger
InteractionTarget target

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
Type Name Description
Player player
InteractionTriggerInfo trigger
InteractionTarget target

Destroy()

Declaration
public override void Destroy()
Overrides
WorldObjectComponent.Destroy()

Initialize()

Declaration
public override void Initialize()
Overrides
WorldObjectComponent.Initialize()

MarkAllChanged()

Declaration
public void MarkAllChanged()

OnAfterObjectMoved()

Declaration
public override void OnAfterObjectMoved()
Overrides
WorldObjectComponent.OnAfterObjectMoved()

OnComponentAddedPostInit(WorldObjectComponent)

Declaration
public override void OnComponentAddedPostInit(WorldObjectComponent c)
Parameters
Type Name Description
WorldObjectComponent c
Overrides
WorldObjectComponent.OnComponentAddedPostInit(WorldObjectComponent)

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
Type Name Description
ForSaleComponent.SaleTypes saleType
System.Func<LocString> customDescription
System.Func<Item> itemPickedUp

SetCurrency(User, Currency)

Declaration
public void SetCurrency(User user, Currency currency)
Parameters
Type Name Description
User user
Currency currency

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
Type Name Description
Player player
InteractionTriggerInfo trigger
InteractionTarget target

SetSellersAccount(User, BankAccount)

Declaration
public void SetSellersAccount(User user, BankAccount account)
Parameters
Type Name Description
User user
BankAccount account

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
Type Description
IAlias

IHasTradeOffers.Parent

Declaration
WorldObject IHasTradeOffers.Parent { get; }
Returns
Type Description
WorldObject

IHasTradeOffers.SoldOutNotice

Declaration
LocString IHasTradeOffers.SoldOutNotice { get; }
Returns
Type Description
LocString

IHasTradeOffers.SourceName

Declaration
LocString IHasTradeOffers.SourceName { get; }
Returns
Type Description
LocString

Implements

ILinkable
IOwned
IController
IViewController
IHasUniversalID
IHasSerializableID
IRPCAuthChecks
System.ComponentModel.INotifyPropertyChanged
IThreadSafeSubscriptions
ISubscriptions<TSubscriptionsList>
ISubscriptions
IHasInteractions
IHasEnvVars
IPersistentData
IHasTradeOffers

Extension Methods

TagUtils.TagNames(Object, Boolean)
TagUtils.TagDisplayNames(Object, Boolean)
ClientSetViewExtensions.SetClassOfProperty(Object, Player, String, String, Int32)
TypeTooltipExtensions.UILinkGeneric(Object)
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾