private void setTarget(OsuScreen target) { if (target == null) { return; } Debug.Assert(skinEditor != null); if (!target.IsLoaded) { Scheduler.AddOnce(setTarget, target); return; } if (skinEditor.State.Value == Visibility.Visible) { skinEditor.UpdateTargetScreen(target); } else { skinEditor.Hide(); skinEditor.Expire(); skinEditor = null; } }
/// <summary> /// Exit any existing skin editor due to the game state changing. /// </summary> public void Reset() { skinEditor?.Save(); skinEditor?.Hide(); skinEditor?.Expire(); skinEditor = null; }