// ClassicalSharp copyright 2014-2016 UnknownShadow200 | Licensed under MIT using System; namespace ClassicalSharp.Events { /// Contains events related to the spawning/despawning of entities, /// and the creation/removal of tab list entries. public sealed class EntityEvents : OtherEvents { IdEventArgs idArgs = new IdEventArgs(); /// Raised when an entity is spawned in the current world. public event EventHandler Added; internal void RaiseAdded( byte id ) { idArgs.Id = id; Raise( Added, idArgs ); } /// Raised when an entity is despawned from the current world. public event EventHandler Removed; internal void RaiseRemoved( byte id ) { idArgs.Id = id; Raise( Removed, idArgs ); } /// Raised when a tab list entry is created. public event EventHandler TabListEntryAdded; internal void RaiseTabEntryAdded( byte id ) { idArgs.Id = id; Raise( TabListEntryAdded, idArgs ); } /// Raised when a tab list entry is modified. public event EventHandler TabListEntryChanged; internal void RaiseTabListEntryChanged( byte id ) { idArgs.Id = id; Raise( TabListEntryChanged, idArgs ); } /// Raised when a tab list entry is removed. public event EventHandler TabListEntryRemoved; internal void RaiseTabEntryRemoved( byte id ) { idArgs.Id = id; Raise( TabListEntryRemoved, idArgs ); } } public sealed class IdEventArgs : EventArgs { public byte Id; } }