mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-12 18:27:23 +01:00
fix errors/warnings
This commit is contained in:
parent
452305be1d
commit
28ff62e488
23 changed files with 351 additions and 335 deletions
|
|
@ -20,7 +20,7 @@ internal unsafe class AddonEventEntry
|
|||
/// <summary>
|
||||
/// Gets the pointer to the addons AtkUnitBase.
|
||||
/// </summary>
|
||||
required public nint Addon { get; init; }
|
||||
public required nint Addon { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the name of the addon this args referrers to.
|
||||
|
|
|
|||
|
|
@ -1,16 +1,14 @@
|
|||
using Dalamud.IoC;
|
||||
using Dalamud.Game.Network.Internal;
|
||||
using Dalamud.Game.Network.Structures;
|
||||
using Dalamud.IoC;
|
||||
using Dalamud.IoC.Internal;
|
||||
using Dalamud.Plugin.Services;
|
||||
|
||||
namespace Dalamud.Game.MarketBoard;
|
||||
|
||||
using Network.Internal;
|
||||
using Network.Structures;
|
||||
|
||||
/// <summary>
|
||||
/// This class provides access to market board events
|
||||
/// This class provides access to market board events.
|
||||
/// </summary>
|
||||
[InterfaceVersion("1.0")]
|
||||
[ServiceManager.EarlyLoadedService]
|
||||
internal class MarketBoard : IInternalDisposableService, IMarketBoard
|
||||
{
|
||||
|
|
@ -85,7 +83,6 @@ internal class MarketBoard : IInternalDisposableService, IMarketBoard
|
|||
/// Plugin scoped version of MarketBoard.
|
||||
/// </summary>
|
||||
[PluginInterface]
|
||||
[InterfaceVersion("1.0")]
|
||||
[ServiceManager.ScopedService]
|
||||
#pragma warning disable SA1015
|
||||
[ResolveVia<IMarketBoard>]
|
||||
|
|
|
|||
|
|
@ -29,13 +29,6 @@ internal unsafe class NetworkHandlers : IInternalDisposableService
|
|||
{
|
||||
private readonly IMarketBoardUploader uploader;
|
||||
|
||||
private readonly IObservable<MarketBoardPurchase> mbPurchaseObservable;
|
||||
private readonly IObservable<MarketBoardHistory> mbHistoryObservable;
|
||||
private readonly IObservable<MarketTaxRates> mbTaxesObservable;
|
||||
private readonly IObservable<MarketBoardItemRequest> mbItemRequestObservable;
|
||||
private readonly IObservable<MarketBoardCurrentOfferings> mbOfferingsObservable;
|
||||
private readonly IObservable<MarketBoardPurchaseHandler> mbPurchaseSentObservable;
|
||||
|
||||
private readonly IDisposable handleMarketBoardItemRequest;
|
||||
private readonly IDisposable handleMarketTaxRates;
|
||||
private readonly IDisposable handleMarketBoardPurchaseHandler;
|
||||
|
|
@ -68,7 +61,7 @@ internal unsafe class NetworkHandlers : IInternalDisposableService
|
|||
|
||||
this.CfPop = _ => { };
|
||||
|
||||
this.mbPurchaseObservable = Observable.Create<MarketBoardPurchase>(observer =>
|
||||
this.MbPurchaseObservable = Observable.Create<MarketBoardPurchase>(observer =>
|
||||
{
|
||||
this.MarketBoardPurchaseReceived += Observe;
|
||||
return () => { this.MarketBoardPurchaseReceived -= Observe; };
|
||||
|
|
@ -79,7 +72,7 @@ internal unsafe class NetworkHandlers : IInternalDisposableService
|
|||
}
|
||||
});
|
||||
|
||||
this.mbHistoryObservable = Observable.Create<MarketBoardHistory>(observer =>
|
||||
this.MbHistoryObservable = Observable.Create<MarketBoardHistory>(observer =>
|
||||
{
|
||||
this.MarketBoardHistoryReceived += Observe;
|
||||
return () => { this.MarketBoardHistoryReceived -= Observe; };
|
||||
|
|
@ -90,7 +83,7 @@ internal unsafe class NetworkHandlers : IInternalDisposableService
|
|||
}
|
||||
});
|
||||
|
||||
this.mbTaxesObservable = Observable.Create<MarketTaxRates>(observer =>
|
||||
this.MbTaxesObservable = Observable.Create<MarketTaxRates>(observer =>
|
||||
{
|
||||
this.MarketBoardTaxesReceived += Observe;
|
||||
return () => { this.MarketBoardTaxesReceived -= Observe; };
|
||||
|
|
@ -102,7 +95,7 @@ internal unsafe class NetworkHandlers : IInternalDisposableService
|
|||
}
|
||||
});
|
||||
|
||||
this.mbItemRequestObservable = Observable.Create<MarketBoardItemRequest>(observer =>
|
||||
this.MbItemRequestObservable = Observable.Create<MarketBoardItemRequest>(observer =>
|
||||
{
|
||||
this.MarketBoardItemRequestStartReceived += Observe;
|
||||
return () => this.MarketBoardItemRequestStartReceived -= Observe;
|
||||
|
|
@ -113,7 +106,7 @@ internal unsafe class NetworkHandlers : IInternalDisposableService
|
|||
}
|
||||
});
|
||||
|
||||
this.mbOfferingsObservable = Observable.Create<MarketBoardCurrentOfferings>(observer =>
|
||||
this.MbOfferingsObservable = Observable.Create<MarketBoardCurrentOfferings>(observer =>
|
||||
{
|
||||
this.MarketBoardOfferingsReceived += Observe;
|
||||
return () => { this.MarketBoardOfferingsReceived -= Observe; };
|
||||
|
|
@ -124,7 +117,7 @@ internal unsafe class NetworkHandlers : IInternalDisposableService
|
|||
}
|
||||
});
|
||||
|
||||
this.mbPurchaseSentObservable = Observable.Create<MarketBoardPurchaseHandler>(observer =>
|
||||
this.MbPurchaseSentObservable = Observable.Create<MarketBoardPurchaseHandler>(observer =>
|
||||
{
|
||||
this.MarketBoardPurchaseRequestSent += Observe;
|
||||
return () => { this.MarketBoardPurchaseRequestSent -= Observe; };
|
||||
|
|
@ -209,17 +202,35 @@ internal unsafe class NetworkHandlers : IInternalDisposableService
|
|||
|
||||
private event Action<nint>? MarketBoardPurchaseRequestSent;
|
||||
|
||||
public IObservable<MarketBoardPurchase> MbPurchaseObservable => this.mbPurchaseObservable;
|
||||
/// <summary>
|
||||
/// Gets an observable to track marketboard purchase events.
|
||||
/// </summary>
|
||||
public IObservable<MarketBoardPurchase> MbPurchaseObservable { get; }
|
||||
|
||||
public IObservable<MarketBoardHistory> MbHistoryObservable => this.mbHistoryObservable;
|
||||
/// <summary>
|
||||
/// Gets an observable to track marketboard history events.
|
||||
/// </summary>
|
||||
public IObservable<MarketBoardHistory> MbHistoryObservable { get; }
|
||||
|
||||
public IObservable<MarketTaxRates> MbTaxesObservable => this.mbTaxesObservable;
|
||||
/// <summary>
|
||||
/// Gets an observable to track marketboard tax events.
|
||||
/// </summary>
|
||||
public IObservable<MarketTaxRates> MbTaxesObservable { get; }
|
||||
|
||||
public IObservable<MarketBoardItemRequest> MbItemRequestObservable => this.mbItemRequestObservable;
|
||||
/// <summary>
|
||||
/// Gets an observable to track marketboard item request events.
|
||||
/// </summary>
|
||||
public IObservable<MarketBoardItemRequest> MbItemRequestObservable { get; }
|
||||
|
||||
public IObservable<MarketBoardCurrentOfferings> MbOfferingsObservable => this.mbOfferingsObservable;
|
||||
/// <summary>
|
||||
/// Gets an observable to track marketboard offerings events.
|
||||
/// </summary>
|
||||
public IObservable<MarketBoardCurrentOfferings> MbOfferingsObservable { get; }
|
||||
|
||||
public IObservable<MarketBoardPurchaseHandler> MbPurchaseSentObservable => this.mbPurchaseSentObservable;
|
||||
/// <summary>
|
||||
/// Gets an observable to track marketboard purchase request events.
|
||||
/// </summary>
|
||||
public IObservable<MarketBoardPurchaseHandler> MbPurchaseSentObservable { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Disposes of managed and unmanaged resources.
|
||||
|
|
|
|||
131
Dalamud/Game/Network/Structures/IMarketBoardCurrentOfferings.cs
Normal file
131
Dalamud/Game/Network/Structures/IMarketBoardCurrentOfferings.cs
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
using System.Collections.Generic;
|
||||
|
||||
namespace Dalamud.Game.Network.Structures;
|
||||
|
||||
/// <summary>
|
||||
/// An interface that represents the current market board offerings.
|
||||
/// </summary>
|
||||
public interface IMarketBoardCurrentOfferings
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the list of individual item listings.
|
||||
/// </summary>
|
||||
IReadOnlyList<IMarketBoardItemListing> ItemListings { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the listing end index.
|
||||
/// </summary>
|
||||
int ListingIndexEnd { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the listing start index.
|
||||
/// </summary>
|
||||
int ListingIndexStart { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the request ID.
|
||||
/// </summary>
|
||||
int RequestId { get; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// An interface that represents the current market board offering of a single item from the <see cref="IMarketBoardCurrentOfferings"/>.
|
||||
/// </summary>
|
||||
public interface IMarketBoardItemListing
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the artisan ID.
|
||||
/// </summary>
|
||||
ulong ArtisanId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the item ID.
|
||||
/// </summary>
|
||||
uint ItemId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether the item is HQ.
|
||||
/// </summary>
|
||||
bool IsHq { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the item quantity.
|
||||
/// </summary>
|
||||
uint ItemQuantity { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the time this offering was last reviewed.
|
||||
/// </summary>
|
||||
DateTime LastReviewTime { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the listing ID.
|
||||
/// </summary>
|
||||
ulong ListingId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the list of materia attached to this item.
|
||||
/// </summary>
|
||||
IReadOnlyList<IItemMateria> Materia { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the amount of attached materia.
|
||||
/// </summary>
|
||||
int MateriaCount { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether this item is on a mannequin.
|
||||
/// </summary>
|
||||
bool OnMannequin { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the player name.
|
||||
/// </summary>
|
||||
string PlayerName { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the price per unit.
|
||||
/// </summary>
|
||||
uint PricePerUnit { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the city ID of the retainer selling the item.
|
||||
/// </summary>
|
||||
int RetainerCityId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the ID of the retainer selling the item.
|
||||
/// </summary>
|
||||
ulong RetainerId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the name of the retainer.
|
||||
/// </summary>
|
||||
string RetainerName { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the stain or applied dye of the item.
|
||||
/// </summary>
|
||||
int StainId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the total tax.
|
||||
/// </summary>
|
||||
uint TotalTax { get; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// An interface that represents the materia slotted to an <see cref="IMarketBoardItemListing"/>.
|
||||
/// </summary>
|
||||
public interface IItemMateria
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the materia index.
|
||||
/// </summary>
|
||||
int Index { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the materia ID.
|
||||
/// </summary>
|
||||
int MateriaId { get; }
|
||||
}
|
||||
55
Dalamud/Game/Network/Structures/IMarketBoardHistory.cs
Normal file
55
Dalamud/Game/Network/Structures/IMarketBoardHistory.cs
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
using System.Collections.Generic;
|
||||
|
||||
namespace Dalamud.Game.Network.Structures;
|
||||
|
||||
/// <summary>
|
||||
/// An interface that represents the market board history from the game.
|
||||
/// </summary>
|
||||
public interface IMarketBoardHistory
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the item ID.
|
||||
/// </summary>
|
||||
uint ItemId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the list of individual item history listings.
|
||||
/// </summary>
|
||||
IReadOnlyList<IMarketBoardHistoryListing> HistoryListings { get; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// An interface that represents the market board history of a single item from <see cref="IMarketBoardHistory"/>.
|
||||
/// </summary>
|
||||
public interface IMarketBoardHistoryListing
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the buyer's name.
|
||||
/// </summary>
|
||||
string BuyerName { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether the item is HQ.
|
||||
/// </summary>
|
||||
bool IsHq { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether the item is on a mannequin.
|
||||
/// </summary>
|
||||
bool OnMannequin { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the time of purchase.
|
||||
/// </summary>
|
||||
DateTime PurchaseTime { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the quantity.
|
||||
/// </summary>
|
||||
uint Quantity { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the sale price.
|
||||
/// </summary>
|
||||
uint SalePrice { get; }
|
||||
}
|
||||
18
Dalamud/Game/Network/Structures/IMarketBoardPurchase.cs
Normal file
18
Dalamud/Game/Network/Structures/IMarketBoardPurchase.cs
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
namespace Dalamud.Game.Network.Structures;
|
||||
|
||||
/// <summary>
|
||||
/// An interface that represents market board purchase information. This message is received from the
|
||||
/// server when a purchase is made at a market board.
|
||||
/// </summary>
|
||||
public interface IMarketBoardPurchase
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the item ID of the item that was purchased.
|
||||
/// </summary>
|
||||
uint CatalogId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the quantity of the item that was purchased.
|
||||
/// </summary>
|
||||
uint ItemQuantity { get; }
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
namespace Dalamud.Game.Network.Structures;
|
||||
|
||||
/// <summary>
|
||||
/// An interface that represents market board purchase information. This message is sent from the
|
||||
/// client when a purchase is made at a market board.
|
||||
/// </summary>
|
||||
public interface IMarketBoardPurchaseHandler
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the object ID of the retainer associated with the sale.
|
||||
/// </summary>
|
||||
ulong RetainerId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the object ID of the item listing.
|
||||
/// </summary>
|
||||
ulong ListingId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the item ID of the item that was purchased.
|
||||
/// </summary>
|
||||
uint CatalogId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the quantity of the item that was purchased.
|
||||
/// </summary>
|
||||
uint ItemQuantity { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the unit price of the item.
|
||||
/// </summary>
|
||||
uint PricePerUnit { get; }
|
||||
}
|
||||
47
Dalamud/Game/Network/Structures/IMarketTaxRates.cs
Normal file
47
Dalamud/Game/Network/Structures/IMarketTaxRates.cs
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
namespace Dalamud.Game.Network.Structures;
|
||||
|
||||
/// <summary>
|
||||
/// An interface that represents the tax rates received by the client when interacting with a retainer vocate.
|
||||
/// </summary>
|
||||
public interface IMarketTaxRates
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the category of this ResultDialog packet.
|
||||
/// </summary>
|
||||
uint Category { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the tax rate in Limsa Lominsa.
|
||||
/// </summary>
|
||||
uint LimsaLominsaTax { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the tax rate in Gridania.
|
||||
/// </summary>
|
||||
uint GridaniaTax { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the tax rate in Ul'dah.
|
||||
/// </summary>
|
||||
uint UldahTax { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the tax rate in Ishgard.
|
||||
/// </summary>
|
||||
uint IshgardTax { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the tax rate in Kugane.
|
||||
/// </summary>
|
||||
uint KuganeTax { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the tax rate in the Crystarium.
|
||||
/// </summary>
|
||||
uint CrystariumTax { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the tax rate in the Crystarium.
|
||||
/// </summary>
|
||||
uint SharlayanTax { get; }
|
||||
}
|
||||
|
|
@ -17,10 +17,7 @@ public class MarketBoardCurrentOfferings : IMarketBoardCurrentOfferings
|
|||
/// Gets the list of individual item listings.
|
||||
/// </summary>
|
||||
IReadOnlyList<IMarketBoardItemListing> IMarketBoardCurrentOfferings.ItemListings => this.InternalItemListings;
|
||||
|
||||
internal List<MarketBoardItemListing> InternalItemListings { get; set; } = new List<MarketBoardItemListing>();
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets the listing end index.
|
||||
/// </summary>
|
||||
|
|
@ -35,6 +32,11 @@ public class MarketBoardCurrentOfferings : IMarketBoardCurrentOfferings
|
|||
/// Gets the request ID.
|
||||
/// </summary>
|
||||
public int RequestId { get; internal set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the internal read-write list of marketboard item listings.
|
||||
/// </summary>
|
||||
internal List<MarketBoardItemListing> InternalItemListings { get; set; } = [];
|
||||
|
||||
/// <summary>
|
||||
/// Read a <see cref="MarketBoardCurrentOfferings"/> object from memory.
|
||||
|
|
@ -236,132 +238,3 @@ public class MarketBoardCurrentOfferings : IMarketBoardCurrentOfferings
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// An interface that represents the current market board offerings.
|
||||
/// </summary>
|
||||
public interface IMarketBoardCurrentOfferings
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the list of individual item listings.
|
||||
/// </summary>
|
||||
IReadOnlyList<IMarketBoardItemListing> ItemListings { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the listing end index.
|
||||
/// </summary>
|
||||
int ListingIndexEnd { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the listing start index.
|
||||
/// </summary>
|
||||
int ListingIndexStart { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the request ID.
|
||||
/// </summary>
|
||||
int RequestId { get; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// An interface that represents the current market board offering of a single item from the <see cref="IMarketBoardCurrentOfferings"/>.
|
||||
/// </summary>
|
||||
public interface IMarketBoardItemListing
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the artisan ID.
|
||||
/// </summary>
|
||||
ulong ArtisanId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the item ID.
|
||||
/// </summary>
|
||||
uint ItemId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether the item is HQ.
|
||||
/// </summary>
|
||||
bool IsHq { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the item quantity.
|
||||
/// </summary>
|
||||
uint ItemQuantity { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the time this offering was last reviewed.
|
||||
/// </summary>
|
||||
DateTime LastReviewTime { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the listing ID.
|
||||
/// </summary>
|
||||
ulong ListingId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the list of materia attached to this item.
|
||||
/// </summary>
|
||||
IReadOnlyList<IItemMateria> Materia { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the amount of attached materia.
|
||||
/// </summary>
|
||||
int MateriaCount { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether this item is on a mannequin.
|
||||
/// </summary>
|
||||
bool OnMannequin { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the player name.
|
||||
/// </summary>
|
||||
string PlayerName { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the price per unit.
|
||||
/// </summary>
|
||||
uint PricePerUnit { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the city ID of the retainer selling the item.
|
||||
/// </summary>
|
||||
int RetainerCityId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the ID of the retainer selling the item.
|
||||
/// </summary>
|
||||
ulong RetainerId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the name of the retainer.
|
||||
/// </summary>
|
||||
string RetainerName { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the stain or applied dye of the item.
|
||||
/// </summary>
|
||||
int StainId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the total tax.
|
||||
/// </summary>
|
||||
uint TotalTax { get; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// An interface that represents the materia slotted to an <see cref="IMarketBoardItemListing"/>.
|
||||
/// </summary>
|
||||
public interface IItemMateria
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the materia index.
|
||||
/// </summary>
|
||||
int Index { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the materia ID.
|
||||
/// </summary>
|
||||
int MateriaId { get; }
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,9 @@ public class MarketBoardHistory : IMarketBoardHistory
|
|||
/// </summary>
|
||||
public uint CatalogId2 { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the ID (for EXD) for the item being sold.
|
||||
/// </summary>
|
||||
public uint ItemId => this.CatalogId;
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -136,55 +139,3 @@ public class MarketBoardHistory : IMarketBoardHistory
|
|||
public uint SalePrice { get; internal set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// An interface that represents the market board history from the game.
|
||||
/// </summary>
|
||||
public interface IMarketBoardHistory
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the item ID.
|
||||
/// </summary>
|
||||
uint ItemId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the list of individual item history listings.
|
||||
/// </summary>
|
||||
IReadOnlyList<IMarketBoardHistoryListing> HistoryListings { get; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// An interface that represents the market board history of a single item from <see cref="IMarketBoardHistory"/>.
|
||||
/// </summary>
|
||||
public interface IMarketBoardHistoryListing
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the buyer's name.
|
||||
/// </summary>
|
||||
string BuyerName { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether the item is HQ.
|
||||
/// </summary>
|
||||
bool IsHq { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether the item is on a mannequin.
|
||||
/// </summary>
|
||||
bool OnMannequin { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the time of purchase.
|
||||
/// </summary>
|
||||
DateTime PurchaseTime { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the quantity.
|
||||
/// </summary>
|
||||
uint Quantity { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the sale price.
|
||||
/// </summary>
|
||||
uint SalePrice { get; }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,20 +41,3 @@ public class MarketBoardPurchase : IMarketBoardPurchase
|
|||
return output;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// An interface that represents market board purchase information. This message is received from the
|
||||
/// server when a purchase is made at a market board.
|
||||
/// </summary>
|
||||
public interface IMarketBoardPurchase
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the item ID of the item that was purchased.
|
||||
/// </summary>
|
||||
uint CatalogId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the quantity of the item that was purchased.
|
||||
/// </summary>
|
||||
uint ItemQuantity { get; }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -59,35 +59,3 @@ public class MarketBoardPurchaseHandler : IMarketBoardPurchaseHandler
|
|||
return output;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// An interface that represents market board purchase information. This message is sent from the
|
||||
/// client when a purchase is made at a market board.
|
||||
/// </summary>
|
||||
public interface IMarketBoardPurchaseHandler
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the object ID of the retainer associated with the sale.
|
||||
/// </summary>
|
||||
ulong RetainerId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the object ID of the item listing.
|
||||
/// </summary>
|
||||
ulong ListingId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the item ID of the item that was purchased.
|
||||
/// </summary>
|
||||
uint CatalogId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the quantity of the item that was purchased.
|
||||
/// </summary>
|
||||
uint ItemQuantity { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the unit price of the item.
|
||||
/// </summary>
|
||||
uint PricePerUnit { get; }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -100,49 +100,3 @@ public class MarketTaxRates : IMarketTaxRates
|
|||
};
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// An interface that represents the tax rates received by the client when interacting with a retainer vocate.
|
||||
/// </summary>
|
||||
public interface IMarketTaxRates
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the category of this ResultDialog packet.
|
||||
/// </summary>
|
||||
uint Category { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the tax rate in Limsa Lominsa.
|
||||
/// </summary>
|
||||
uint LimsaLominsaTax { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the tax rate in Gridania.
|
||||
/// </summary>
|
||||
uint GridaniaTax { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the tax rate in Ul'dah.
|
||||
/// </summary>
|
||||
uint UldahTax { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the tax rate in Ishgard.
|
||||
/// </summary>
|
||||
uint IshgardTax { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the tax rate in Kugane.
|
||||
/// </summary>
|
||||
uint KuganeTax { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the tax rate in the Crystarium.
|
||||
/// </summary>
|
||||
uint CrystariumTax { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the tax rate in the Crystarium.
|
||||
/// </summary>
|
||||
uint SharlayanTax { get; }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@ public static class ColorHelpers
|
|||
/// <summary>
|
||||
/// Performs a swap of endianness
|
||||
/// Exmaple:
|
||||
/// (FFXIV) RGBA to ABGR (ImGui)
|
||||
/// (FFXIV) RGBA to ABGR (ImGui).
|
||||
/// </summary>
|
||||
/// <param name="rgba">Color value in byte order X Y Z W.</param>
|
||||
/// <returns>Endian swapped color value with new byte order W Z Y X.</returns>
|
||||
|
|
|
|||
|
|
@ -1,17 +1,14 @@
|
|||
using System.Collections.Concurrent;
|
||||
using System.Globalization;
|
||||
|
||||
using Dalamud.Game.MarketBoard;
|
||||
using Dalamud.Game.Network.Structures;
|
||||
using Dalamud.Interface.Utility;
|
||||
using Dalamud.Interface.Utility.Raii;
|
||||
|
||||
using ImGuiNET;
|
||||
|
||||
namespace Dalamud.Interface.Internal.Windows.Data.Widgets;
|
||||
|
||||
using System.Globalization;
|
||||
|
||||
using Game.MarketBoard;
|
||||
using Game.Network.Structures;
|
||||
|
||||
/// <summary>
|
||||
/// Widget to display market board events.
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ using Dalamud.Interface.Colors;
|
|||
using Dalamud.Interface.Components;
|
||||
using Dalamud.Interface.ImGuiNotification;
|
||||
using Dalamud.Interface.ImGuiNotification.Internal;
|
||||
using Dalamud.Interface.Internal.DesignSystem;
|
||||
using Dalamud.Interface.Utility;
|
||||
using Dalamud.Interface.Utility.Raii;
|
||||
using Dalamud.Plugin.Internal;
|
||||
|
|
|
|||
|
|
@ -1,15 +1,14 @@
|
|||
namespace Dalamud.Interface.Internal.Windows.SelfTest.AgingSteps;
|
||||
|
||||
using System.Globalization;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
|
||||
using Game.MarketBoard;
|
||||
using Game.Network.Structures;
|
||||
|
||||
using Dalamud.Game.MarketBoard;
|
||||
using Dalamud.Game.Network.Structures;
|
||||
using ImGuiNET;
|
||||
|
||||
namespace Dalamud.Interface.Internal.Windows.SelfTest.AgingSteps;
|
||||
|
||||
/// <summary>
|
||||
/// Tests the various market board events
|
||||
/// Tests the various market board events.
|
||||
/// </summary>
|
||||
internal class MarketBoardAgingStep : IAgingStep
|
||||
{
|
||||
|
|
@ -182,6 +181,7 @@ internal class MarketBoardAgingStep : IAgingStep
|
|||
return SelfTestStepResult.Fail;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
case SubStep.Done:
|
||||
return SelfTestStepResult.Pass;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ namespace Dalamud.Interface.Textures;
|
|||
/// <summary>Represents a lookup for a game icon.</summary>
|
||||
public readonly record struct GameIconLookup
|
||||
{
|
||||
/// <summary>Initializes a new instance of the <see cref="GameIconLookup"/> class.</summary>
|
||||
/// <summary>Initializes a new instance of the <see cref="GameIconLookup"/> struct.</summary>
|
||||
/// <param name="iconId">The icon ID.</param>
|
||||
/// <param name="itemHq">Whether the HQ icon is requested, where HQ is in the context of items.</param>
|
||||
/// <param name="hiRes">Whether the high-resolution icon is requested.</param>
|
||||
|
|
@ -17,11 +17,7 @@ public readonly record struct GameIconLookup
|
|||
this.HiRes = hiRes;
|
||||
this.Language = language;
|
||||
}
|
||||
|
||||
public static implicit operator GameIconLookup(int iconId) => new(checked((uint)iconId));
|
||||
|
||||
public static implicit operator GameIconLookup(uint iconId) => new(iconId);
|
||||
|
||||
|
||||
/// <summary>Gets the icon ID.</summary>
|
||||
public uint IconId { get; init; }
|
||||
|
||||
|
|
@ -39,6 +35,10 @@ public readonly record struct GameIconLookup
|
|||
/// </remarks>
|
||||
public ClientLanguage? Language { get; init; }
|
||||
|
||||
public static implicit operator GameIconLookup(int iconId) => new(checked((uint)iconId));
|
||||
|
||||
public static implicit operator GameIconLookup(uint iconId) => new(iconId);
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override string ToString()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ public record struct RawImageSpecification
|
|||
{
|
||||
private const string FormatNotSupportedMessage = $"{nameof(DxgiFormat)} is not supported.";
|
||||
|
||||
/// <summary>Initializes a new instance of the <see cref="RawImageSpecification"/> class.</summary>
|
||||
/// <summary>Initializes a new instance of the <see cref="RawImageSpecification"/> struct.</summary>
|
||||
/// <param name="width">The width of the raw image.</param>
|
||||
/// <param name="height">The height of the raw image.</param>
|
||||
/// <param name="dxgiFormat">The DXGI format of the raw image.</param>
|
||||
|
|
@ -31,14 +31,14 @@ public record struct RawImageSpecification
|
|||
this.DxgiFormat = dxgiFormat;
|
||||
}
|
||||
|
||||
/// <summary>Initializes a new instance of the <see cref="RawImageSpecification"/> class.</summary>
|
||||
/// <summary>Initializes a new instance of the <see cref="RawImageSpecification"/> struct.</summary>
|
||||
/// <param name="desc">The source texture description.</param>
|
||||
internal RawImageSpecification(in D3D11_TEXTURE2D_DESC desc)
|
||||
: this((int)desc.Width, (int)desc.Height, (int)desc.Format)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>Initializes a new instance of the <see cref="RawImageSpecification"/> class.</summary>
|
||||
/// <summary>Initializes a new instance of the <see cref="RawImageSpecification"/> struct.</summary>
|
||||
/// <param name="desc">The source texture description.</param>
|
||||
/// <param name="pitch">The pitch of the raw image in bytes.</param>
|
||||
internal RawImageSpecification(in D3D11_TEXTURE2D_DESC desc, uint pitch)
|
||||
|
|
|
|||
|
|
@ -135,7 +135,6 @@ internal class ServiceContainer : IServiceProvider, IServiceType
|
|||
/// <summary>
|
||||
/// Inject <see cref="PluginInterfaceAttribute"/> interfaces into public or static properties on the provided object.
|
||||
/// The properties have to be marked with the <see cref="PluginServiceAttribute"/>.
|
||||
/// The properties can be marked with the <see cref="RequiredVersionAttribute"/> to lock down versions.
|
||||
/// </summary>
|
||||
/// <param name="instance">The object instance.</param>
|
||||
/// <param name="publicScopes">Scoped objects to be injected.</param>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@ internal interface IServiceScope : IDisposable
|
|||
/// <summary>
|
||||
/// Inject <see cref="PluginInterfaceAttribute" /> interfaces into public or static properties on the provided object.
|
||||
/// The properties have to be marked with the <see cref="PluginServiceAttribute" />.
|
||||
/// The properties can be marked with the <see cref="RequiredVersionAttribute" /> to lock down versions.
|
||||
/// </summary>
|
||||
/// <param name="instance">The object instance.</param>
|
||||
/// <param name="scopedObjects">Scoped objects to be injected.</param>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ using Dalamud.Interface.ImGuiNotification;
|
|||
using Dalamud.Interface.ImGuiNotification.Internal;
|
||||
using Dalamud.Interface.Internal;
|
||||
using Dalamud.Interface.Internal.DesignSystem;
|
||||
using Dalamud.Interface.Internal.Notifications;
|
||||
using Dalamud.Interface.Utility;
|
||||
using Dalamud.Logging.Internal;
|
||||
using Dalamud.Plugin.Internal.Types;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
namespace Dalamud.Plugin.Services;
|
||||
using Dalamud.Game.Network.Structures;
|
||||
|
||||
using Game.Network.Structures;
|
||||
namespace Dalamud.Plugin.Services;
|
||||
|
||||
/// <summary>
|
||||
/// Provides access to market board related events as the client receives/sends them.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue