using System; using TF2Net.Data; using TF2Net.Entities; namespace TF2Net.Monitors { public interface IPlayerPropertyMonitor : IEntityPropertyMonitor, IPlayerPropertyMonitor { new SingleEvent>> ValueChanged { get; } } public interface IPlayerPropertyMonitor : IEntityPropertyMonitor { Player Player { get; } new SingleEvent> ValueChanged { get; } } public interface IEntityPropertyMonitor : IPropertyMonitor, IEntityPropertyMonitor { new SingleEvent>> ValueChanged { get; } } public interface IEntityPropertyMonitor : IPropertyMonitor { Entity Entity { get; } new SingleEvent> ValueChanged { get; } } public interface IPropertyMonitor : IPropertyMonitor { new T Value { get; } new SingleEvent>> ValueChanged { get; } } public interface IPropertyMonitor { object Value { get; } SendProp Property { get; } string PropertyName { get; } SingleEvent> ValueChanged { get; } } }