fix(ui): select and examine favorite spells like retail
This commit is contained in:
parent
043ab10b3c
commit
3e31b0ac70
23 changed files with 974 additions and 34 deletions
|
|
@ -553,6 +553,31 @@ public sealed class ItemInteractionController : IDisposable
|
|||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Releases only the object-appraisal transaction before the local spell
|
||||
/// examination subview takes ownership of the shared floaty window.
|
||||
///
|
||||
/// Retail <c>gmExaminationUI::ExamineSpell @ 0x004B6900</c> decrements the
|
||||
/// appraisal busy reference when a response is pending, clears both pending
|
||||
/// and current object ids, and sends <c>CM_Item::Event_Appraise(0)</c>. It
|
||||
/// does not clear unrelated use/inventory busy references.
|
||||
/// </summary>
|
||||
public void CancelObjectAppraisalForSpell()
|
||||
{
|
||||
if (_awaitingAppraisalId == 0u && _currentAppraisalId == 0u)
|
||||
return;
|
||||
|
||||
if (_awaitingAppraisalId != 0u)
|
||||
{
|
||||
_awaitingAppraisalId = 0u;
|
||||
if (_busyCount > 0)
|
||||
_busyCount--;
|
||||
}
|
||||
_currentAppraisalId = 0u;
|
||||
_sendExamine?.Invoke(0u);
|
||||
StateChanged?.Invoke();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Projects retail <c>gmToolbarUI::HandleSelectionChanged @ 0x004BF380</c>
|
||||
/// from the live selected object's public description. This is deliberately
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue