private static void GetAllListeners(this RoomEvent roomEvent) { Room room = roomEvent.EventSource().Position.ForRoom; List <Item> items = room.FindListeningItems(roomEvent); foreach (Item item in items) { item.AddEventListeners(roomEvent); } }
public override void AddEventListener(RoomEvent forEvent) { switch (forEvent.Type) { case EventType.TryGo: if (forEvent.EventSource() == this) { forEvent.AddResponder(new ResponderWrapper(RespondToOwnTryGo), 0); } break; case EventType.Movement: if (forEvent.EventSource() == this) { forEvent.AddResponder(new ResponderWrapper(RespondToOwnMove, CancelOwnMove), forEvent.TickDuration()); } break; } }