public static Option <T> SwitchPerspective <T>(this IPerspectiveSwitcher control) where T : IPerspectiveView { Ensure.That(control, nameof(control)).IsNotNull(); var perspective = control.Perspectives.OfType <T>().Find(p => p.Valid && !p.Active); perspective.Iter(p => control.Perspective = p); return(perspective); }
public static T SwitchPerspective <T>([NotNull] this IPerspectiveSwitcher control) where T : IPerspectiveView { Ensure.Any.IsNotNull(control, nameof(control)); var perspective = control.Perspectives.OfType <T>().FirstOrDefault(p => p.Valid && !p.Active); if (perspective != null) { control.Perspective = perspective; } return(perspective); }
public static Option <IThirdPersonView> SwitchToThirdPerson(this IPerspectiveSwitcher control) => SwitchPerspective <IThirdPersonView>(control);
public static IThirdPersonView SwitchToThirdPerson([NotNull] this IPerspectiveSwitcher control) => SwitchPerspective <IThirdPersonView>(control);
public static IFirstPersonView SwitchToFirstPerson([NotNull] this IPerspectiveSwitcher control) => SwitchPerspective <IFirstPersonView>(control);