protected override bool UpdateChildrenLife() { if (base.UpdateChildrenLife()) { AliveTouchNotes = AliveObjects.OfType <DrawableTouch>().ToList().AsSlimReadOnly(); return(true); } return(false); }
/// <summary> /// Triggers events on drawables in <paramref name="drawables"/> until it is handled. /// </summary> /// <param name="drawables">The drawables in the queue.</param> /// <param name="e">The event.</param> /// <returns>Whether the event was handled.</returns> protected virtual bool PropagateBlockableEvent(SlimReadOnlyListWrapper <Drawable> drawables, UIEvent e) { foreach (var d in drawables) { if (!d.TriggerEvent(e)) { continue; } if (shouldLog(e)) { string detail = d is ISuppressKeyEventLogging?e.GetType().ReadableName() : e.ToString(); Logger.Log($"{detail} handled by {d}.", LoggingTarget.Runtime, LogLevel.Debug); } return(true); } return(false); }