Add keeping track of seen players to player watcher.

This commit is contained in:
Ottermandias 2021-11-16 16:03:49 +01:00
parent 906e057943
commit 743f83d12e
3 changed files with 340 additions and 333 deletions

View file

@ -3,29 +3,28 @@ using System.Collections.Generic;
using Dalamud.Game.ClientState.Objects.Types;
using Penumbra.GameData.Structs;
namespace Penumbra.PlayerWatch
namespace Penumbra.PlayerWatch;
public delegate void PlayerChange( Character actor );
public interface IPlayerWatcherBase : IDisposable
{
public delegate void PlayerChange( Character actor );
public int Version { get; }
public bool Valid { get; }
}
public interface IPlayerWatcherBase : IDisposable
{
public int Version { get; }
public bool Valid { get; }
}
public interface IPlayerWatcher : IPlayerWatcherBase
{
public event PlayerChange? PlayerChanged;
public bool Active { get; }
public interface IPlayerWatcher : IPlayerWatcherBase
{
public event PlayerChange? PlayerChanged;
public bool Active { get; }
public void Enable();
public void Disable();
public void SetStatus( bool enabled );
public void Enable();
public void Disable();
public void SetStatus( bool enabled );
public void AddPlayerToWatch( string playerName );
public void RemovePlayerFromWatch( string playerName );
public CharacterEquipment UpdatePlayerWithoutEvent( Character actor );
public void AddPlayerToWatch( string playerName );
public void RemovePlayerFromWatch( string playerName );
public CharacterEquipment UpdatePlayerWithoutEvent( Character actor );
public IEnumerable< (string, (uint, CharacterEquipment)[]) > WatchedPlayers();
}
public IEnumerable< (string, (ulong, CharacterEquipment)[]) > WatchedPlayers();
}