using System; namespace ClassicalSharp { /// Contains events related to the spawning/despawning of entities, /// and the creation/removal of CPE player list entries. public sealed class EntityEvents : Events { IdEventArgs idArgs = new IdEventArgs(); /// Raised when an entity is spawned in the current world. public event EventHandler EntityAdded; internal void RaiseEntityAdded( byte id ) { idArgs.Id = id; Raise( EntityAdded, idArgs ); } /// Raised when an entity is despawned from the current world. public event EventHandler EntityRemoved; internal void RaiseEntityRemoved( byte id ) { idArgs.Id = id; Raise( EntityRemoved, idArgs ); } /// Raised when a new CPE player list entry is created. public event EventHandler CpeListInfoAdded; internal void RaiseCpeListInfoAdded( byte id ) { idArgs.Id = id; Raise( CpeListInfoAdded, idArgs ); } /// Raised when a CPE player list entry is modified. public event EventHandler CpeListInfoChanged; internal void RaiseCpeListInfoChanged( byte id ) { idArgs.Id = id; Raise( CpeListInfoChanged, idArgs ); } /// Raised when a CPE player list entry is removed. public event EventHandler CpeListInfoRemoved; internal void RaiseCpeListInfoRemoved( byte id ) { idArgs.Id = id; Raise( CpeListInfoRemoved, idArgs ); } } public sealed class IdEventArgs : EventArgs { public byte Id; } }