Show / Hide Table of Contents

Interface IHasTradeOffers

Handles defining a set of trade offers, which can be done at a store, or on a placed object. Also provides a set of functions in the form of the default interace to process transactions.

Namespace: Eco.Gameplay.Components.Store
Assembly: Eco.Gameplay.dll
Syntax
public interface IHasTradeOffers

Properties

AllOffers

Declaration
IEnumerable<TradeOffer> AllOffers { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<TradeOffer>

Balance

Declaration
float Balance { get; }
Property Value
Type Description
System.Single

Currency

Declaration
Currency Currency { get; }
Property Value
Type Description
Currency

DepositInventories

Declaration
virtual IEnumerable<Inventory> DepositInventories { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<Inventory>

EnabledForTrades

Declaration
bool EnabledForTrades { get; }
Property Value
Type Description
System.Boolean

IsBarter

Declaration
bool IsBarter { get; }
Property Value
Type Description
System.Boolean

Owners

Declaration
IAlias Owners { get; }
Property Value
Type Description
IAlias

Parent

Declaration
WorldObject Parent { get; }
Property Value
Type Description
WorldObject

SoldOutNotice

Declaration
virtual LocString SoldOutNotice { get; }
Property Value
Type Description
LocString

SourceName

Declaration
LocString SourceName { get; }
Property Value
Type Description
LocString

StockInventories

Declaration
virtual IEnumerable<Inventory> StockInventories { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<Inventory>

Methods

AdjustTagOfferQuantities(Dictionary<TradeOffer, Int32>, Dictionary<TradeOffer, List<(Item, Int32)>>)

Caps tag offer quantities to match what was actually resolved, so currency validation uses correct amounts.

Declaration
static void AdjustTagOfferQuantities(Dictionary<TradeOffer, int> offers, Dictionary<TradeOffer, List<(Item, int)>> resolved)
Parameters
Type Name Description
System.Collections.Generic.Dictionary<TradeOffer, System.Int32> offers
System.Collections.Generic.Dictionary<TradeOffer, System.Collections.Generic.List<System.ValueTuple<Item, System.Int32>>> resolved

AnnounceTrade(PurchaseData, GameActionPack, Boolean)

Declaration
virtual void AnnounceTrade(PurchaseData data, GameActionPack pack, bool contentsSold)
Parameters
Type Name Description
PurchaseData data
GameActionPack pack
System.Boolean contentsSold

GetLinkedInventories(IAlias, Boolean, Boolean, Boolean)

Get all linked inventories that work for any user in the alias.

Declaration
virtual IEnumerable<Inventory> GetLinkedInventories(IAlias alias, bool source = false, bool target = false, bool includeStoreStorage = true)
Parameters
Type Name Description
IAlias alias
System.Boolean source
System.Boolean target
System.Boolean includeStoreStorage

Do we want to include the store own storage ?

Returns
Type Description
System.Collections.Generic.IEnumerable<Inventory>

PerformTradeInPack(PurchaseData, GameActionPack)

Declaration
virtual GameActionPack PerformTradeInPack(PurchaseData data, GameActionPack pack = null)
Parameters
Type Name Description
PurchaseData data
GameActionPack pack
Returns
Type Description
GameActionPack

PerformTradeWithPurchaseData(PurchaseData, GameActionPack)

Declaration
virtual GameActionPack PerformTradeWithPurchaseData(PurchaseData data, GameActionPack pack = null)
Parameters
Type Name Description
PurchaseData data
GameActionPack pack
Returns
Type Description
GameActionPack

Validate(PurchaseData)

Declaration
virtual Result Validate(PurchaseData data)
Parameters
Type Name Description
PurchaseData data
Returns
Type Description
Result

ValidateCurrency(PurchaseData)

Declaration
virtual Result ValidateCurrency(PurchaseData data)
Parameters
Type Name Description
PurchaseData data
Returns
Type Description
Result

ValidateOffers(PurchaseData)

Declaration
virtual Result ValidateOffers(PurchaseData data)
Parameters
Type Name Description
PurchaseData data
Returns
Type Description
Result

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
☀
☾