chore: Clean up a couple more todos

- Remove AddNotification from UiBuilder
- Change MateriaGrade to just Bytes now.
This commit is contained in:
Kaz Wolfe 2024-04-20 11:04:53 -07:00
parent 3b8ef2c8e8
commit b85914c54c
No known key found for this signature in database
GPG key ID: 258813F53A16EBB4
2 changed files with 2 additions and 47 deletions

View file

@ -106,10 +106,8 @@ public unsafe struct GameInventoryItem : IEquatable<GameInventoryItem>
/// <summary> /// <summary>
/// Gets the array of materia grades. /// Gets the array of materia grades.
/// </summary> /// </summary>
// TODO: Replace with MateriaGradeBytes public ReadOnlySpan<byte> MateriaGrade =>
[Api10ToDo(Api10ToDoAttribute.DeleteCompatBehavior)] new(Unsafe.AsPointer(ref Unsafe.AsRef(in this.InternalItem.MateriaGrade[0])), 5);
public ReadOnlySpan<ushort> MateriaGrade =>
this.MateriaGradeBytes.ToArray().Select(g => (ushort)g).ToArray().AsSpan();
/// <summary> /// <summary>
/// Gets the address of native inventory item in the game.<br /> /// Gets the address of native inventory item in the game.<br />
@ -151,9 +149,6 @@ public unsafe struct GameInventoryItem : IEquatable<GameInventoryItem>
/// </summary> /// </summary>
internal ulong CrafterContentId => this.InternalItem.CrafterContentID; internal ulong CrafterContentId => this.InternalItem.CrafterContentID;
private ReadOnlySpan<byte> MateriaGradeBytes =>
new(Unsafe.AsPointer(ref Unsafe.AsRef(in this.InternalItem.MateriaGrade[0])), 5);
public static bool operator ==(in GameInventoryItem l, in GameInventoryItem r) => l.Equals(r); public static bool operator ==(in GameInventoryItem l, in GameInventoryItem r) => l.Equals(r);
public static bool operator !=(in GameInventoryItem l, in GameInventoryItem r) => !l.Equals(r); public static bool operator !=(in GameInventoryItem l, in GameInventoryItem r) => !l.Equals(r);

View file

@ -586,52 +586,12 @@ public sealed class UiBuilder : IDisposable
autoRebuildMode, autoRebuildMode,
isGlobalScaled)); isGlobalScaled));
/// <summary>
/// Add a notification to the notification queue.
/// </summary>
/// <param name="content">The content of the notification.</param>
/// <param name="title">The title of the notification.</param>
/// <param name="type">The type of the notification.</param>
/// <param name="msDelay">The time the notification should be displayed for.</param>
[Obsolete($"Use {nameof(INotificationManager)}.", false)]
[Api10ToDo(Api10ToDoAttribute.DeleteCompatBehavior)]
public async void AddNotification(
string content,
string? title = null,
NotificationType type = NotificationType.None,
uint msDelay = 3000)
{
var nm = await Service<NotificationManager>.GetAsync();
var an = nm.AddNotification(
new()
{
Content = content,
Title = title,
Type = type,
InitialDuration = TimeSpan.FromMilliseconds(msDelay),
},
this.localPlugin);
_ = this.notifications.TryAdd(an, 0);
an.Dismiss += a => this.notifications.TryRemove(a.Notification, out _);
}
/// <summary> /// <summary>
/// Unregister the UiBuilder. Do not call this in plugin code. /// Unregister the UiBuilder. Do not call this in plugin code.
/// </summary> /// </summary>
void IDisposable.Dispose() void IDisposable.Dispose()
{ {
this.scopedFinalizer.Dispose(); this.scopedFinalizer.Dispose();
// Taken from NotificationManagerPluginScoped.
// TODO: remove on API 10.
while (!this.notifications.IsEmpty)
{
foreach (var n in this.notifications.Keys)
{
this.notifications.TryRemove(n, out _);
((ActiveNotification)n).RemoveNonDalamudInvocations();
}
}
} }
/// <summary>Clean up resources allocated by this instance of <see cref="UiBuilder"/>.</summary> /// <summary>Clean up resources allocated by this instance of <see cref="UiBuilder"/>.</summary>