add mare profiles
This commit is contained in:
		| @@ -84,8 +84,8 @@ public sealed class GameObjectHandler : DisposableMediatorSubscriberBase | ||||
|  | ||||
|     public IntPtr Address { get; set; } | ||||
|     public unsafe Character* Character => (Character*)Address; | ||||
|     public Lazy<Dalamud.Game.ClientState.Objects.Types.GameObject?> GameObjectLazy { get; private set; } | ||||
|     public IntPtr CurrentAddress => _getAddress.Invoke(); | ||||
|     public Lazy<Dalamud.Game.ClientState.Objects.Types.GameObject?> GameObjectLazy { get; private set; } | ||||
|     public string Name { get; private set; } | ||||
|     public ObjectKind ObjectKind { get; } | ||||
|     private byte[] CustomizeData { get; set; } = new byte[26]; | ||||
| @@ -101,6 +101,8 @@ public sealed class GameObjectHandler : DisposableMediatorSubscriberBase | ||||
|             { | ||||
|                 curPtr = _getAddress.Invoke(); | ||||
|  | ||||
|                 if (curPtr == IntPtr.Zero) return true; | ||||
|  | ||||
|                 var drawObj = GetDrawObj(curPtr); | ||||
|                 return IsBeingDrawn(drawObj, curPtr); | ||||
|             } | ||||
|   | ||||
| @@ -99,6 +99,7 @@ public sealed class PairManager : DisposableMediatorSubscriberBase | ||||
|     { | ||||
|         if (_allClientPairs.TryGetValue(user, out var pair)) | ||||
|         { | ||||
|             Mediator.Publish(new ClearProfileDataMessage(pair.UserData)); | ||||
|             pair.MarkOffline(); | ||||
|             RecreateLazy(); | ||||
|         } | ||||
| @@ -107,6 +108,9 @@ public sealed class PairManager : DisposableMediatorSubscriberBase | ||||
|     public void MarkPairOnline(OnlineUserIdentDto dto, bool sendNotif = true) | ||||
|     { | ||||
|         if (!_allClientPairs.ContainsKey(dto.User)) throw new InvalidOperationException("No user found for " + dto); | ||||
|  | ||||
|         Mediator.Publish(new ClearProfileDataMessage(dto.User)); | ||||
|  | ||||
|         var pair = _allClientPairs[dto.User]; | ||||
|         if (pair.HasCachedPlayer) return; | ||||
|  | ||||
| @@ -213,6 +217,12 @@ public sealed class PairManager : DisposableMediatorSubscriberBase | ||||
|  | ||||
|         if (pair.UserPair == null) throw new InvalidOperationException("No direct pair for " + dto); | ||||
|  | ||||
|         if (pair.UserPair.OtherPermissions.IsPaused() != dto.Permissions.IsPaused() | ||||
|             || pair.UserPair.OtherPermissions.IsPaired() != dto.Permissions.IsPaired()) | ||||
|         { | ||||
|             Mediator.Publish(new ClearProfileDataMessage(dto.User)); | ||||
|         } | ||||
|  | ||||
|         pair.UserPair.OtherPermissions = dto.Permissions; | ||||
|  | ||||
|         Logger.LogTrace("Paired: {synced}, Paused: {paused}, Anims: {anims}, Sounds: {sounds}", | ||||
| @@ -229,6 +239,12 @@ public sealed class PairManager : DisposableMediatorSubscriberBase | ||||
|  | ||||
|         if (pair.UserPair == null) throw new InvalidOperationException("No direct pair for " + dto); | ||||
|  | ||||
|         if (pair.UserPair.OwnPermissions.IsPaused() != dto.Permissions.IsPaused() | ||||
|             || pair.UserPair.OwnPermissions.IsPaired() != dto.Permissions.IsPaired()) | ||||
|         { | ||||
|             Mediator.Publish(new ClearProfileDataMessage(dto.User)); | ||||
|         } | ||||
|  | ||||
|         pair.UserPair.OwnPermissions = dto.Permissions; | ||||
|  | ||||
|         Logger.LogTrace("Paired: {synced}, Paused: {paused}, Anims: {anims}, Sounds: {sounds}", | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 rootdarkarchon
					rootdarkarchon