also return SafeNamePlateObject at AddonNamePlate_SetPlayerNameManaged

This commit is contained in:
2022-11-04 18:47:43 +01:00
parent a50fa41a13
commit 9a72e2025e
3 changed files with 13 additions and 5 deletions

View File

@@ -1,4 +1,5 @@
using Dalamud.Game.Text.SeStringHandling; using Dalamud.Game.Text.SeStringHandling;
using Pilz.Dalamud.Nameplates.Model;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@@ -12,6 +13,7 @@ namespace Pilz.Dalamud.Nameplates.EventArgs
private new AddonNamePlate_SetPlayerNameEventArgs OriginalEventArgs private new AddonNamePlate_SetPlayerNameEventArgs OriginalEventArgs
=> base.OriginalEventArgs as AddonNamePlate_SetPlayerNameEventArgs; => base.OriginalEventArgs as AddonNamePlate_SetPlayerNameEventArgs;
public SafeNameplateObject SafeNameplateObject { get; set; }
public SeString Title { get; set; } public SeString Title { get; set; }
public SeString Name { get; set; } public SeString Name { get; set; }
public SeString FreeCompany { get; set; } public SeString FreeCompany { get; set; }

View File

@@ -21,11 +21,11 @@ namespace Pilz.Dalamud.Nameplates.Model
Data = Marshal.PtrToStructure<RaptureAtkModule.NamePlateInfo>(Pointer); Data = Marshal.PtrToStructure<RaptureAtkModule.NamePlateInfo>(Pointer);
} }
public IntPtr NameAddress => GetStringPtr(nameof(RaptureAtkModule.NamePlateInfo.Name)); internal IntPtr NameAddress => GetStringPtr(nameof(RaptureAtkModule.NamePlateInfo.Name));
public IntPtr FcNameAddress => GetStringPtr(nameof(RaptureAtkModule.NamePlateInfo.FcName)); internal IntPtr FcNameAddress => GetStringPtr(nameof(RaptureAtkModule.NamePlateInfo.FcName));
public IntPtr TitleAddress => GetStringPtr(nameof(RaptureAtkModule.NamePlateInfo.Title)); internal IntPtr TitleAddress => GetStringPtr(nameof(RaptureAtkModule.NamePlateInfo.Title));
public IntPtr DisplayTitleAddress => GetStringPtr(nameof(RaptureAtkModule.NamePlateInfo.DisplayTitle)); internal IntPtr DisplayTitleAddress => GetStringPtr(nameof(RaptureAtkModule.NamePlateInfo.DisplayTitle));
public IntPtr LevelTextAddress => GetStringPtr(nameof(RaptureAtkModule.NamePlateInfo.LevelText)); internal IntPtr LevelTextAddress => GetStringPtr(nameof(RaptureAtkModule.NamePlateInfo.LevelText));
public string Name => GetString(NameAddress); public string Name => GetString(NameAddress);
public string FcName => GetString(FcNameAddress); public string FcName => GetString(FcNameAddress);

View File

@@ -7,6 +7,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using Pilz.Dalamud.Nameplates.Model;
namespace Pilz.Dalamud.Nameplates namespace Pilz.Dalamud.Nameplates
{ {
@@ -110,9 +111,14 @@ namespace Pilz.Dalamud.Nameplates
if (AddonNamePlate_SetPlayerNameManaged != null) if (AddonNamePlate_SetPlayerNameManaged != null)
{ {
// Create NamePlateObject if possible
var namePlateObj = new SafeNameplateObject(playerNameplateObjectPtr);
// Create new event
var managedEventArgs = new AddonNamePlate_SetPlayerNameManagedEventArgs var managedEventArgs = new AddonNamePlate_SetPlayerNameManagedEventArgs
{ {
OriginalEventArgs = eventArgs, OriginalEventArgs = eventArgs,
SafeNameplateObject = namePlateObj,
Title = GameInterfaceHelper.ReadSeString(eventArgs.TitlePtr), Title = GameInterfaceHelper.ReadSeString(eventArgs.TitlePtr),
Name = GameInterfaceHelper.ReadSeString(eventArgs.NamePtr), Name = GameInterfaceHelper.ReadSeString(eventArgs.NamePtr),
FreeCompany = GameInterfaceHelper.ReadSeString(eventArgs.FreeCompanyPtr) FreeCompany = GameInterfaceHelper.ReadSeString(eventArgs.FreeCompanyPtr)