public void Reload() { ClearInternal(); components.Clear(); ComponentsLoaded = false; content = CurrentSkin.GetDrawableComponent(new SkinnableTargetComponent(Target)) as SkinnableTargetComponentsContainer; cancellationSource?.Cancel(); cancellationSource = null; if (content != null) { LoadComponentAsync(content, wrapper => { AddInternal(wrapper); components.AddRange(wrapper.Children.OfType <ISkinnableDrawable>()); ComponentsLoaded = true; }, (cancellationSource = new CancellationTokenSource()).Token); } else { ComponentsLoaded = true; } }
/// <summary> /// Reload all components in this container from the current skin. /// </summary> public void Reload() { ClearInternal(); components.Clear(); content = CurrentSkin.GetDrawableComponent(new SkinnableTargetComponent(Target)) as SkinnableTargetComponentsContainer; if (content != null) { LoadComponentAsync(content, wrapper => { AddInternal(wrapper); components.AddRange(wrapper.Children.OfType <ISkinnableDrawable>()); }); } }