Skip to content

Instantly share code, notes, and snippets.

@vs-mobiletools-engineering-service2
Created January 5, 2024 15:32
Show Gist options
  • Save vs-mobiletools-engineering-service2/4ec8791eb72552b9324a12d87f2c61a1 to your computer and use it in GitHub Desktop.
Save vs-mobiletools-engineering-service2/4ec8791eb72552b9324a12d87f2c61a1 to your computer and use it in GitHub Desktop.
previous-api-comparison/tvos-api-diff.md
title description author ms.author ms.date ms.topic ms.assetid ms.prod
Xamarin.TVOS SDK API diff
List of API changes for Xamarin.TVOS.
spouliot
sepoulio
1/5/2024
article
339efc10-9446-71fc-ae7d-055f0909caaf
xamarin

Xamarin.TVOS SDK API diff

Namespace GameController

Type Changed: GameController.GCController

Added property:

public virtual GCControllerLiveInput Input { get; }

Type Changed: GameController.GCControllerElement

Added property:

public virtual GCControllerLiveInput Input { get; }

Type Changed: GameController.GCProductCategory

Obsoleted properties:

 [Obsolete ("Use the Hid property instead.")]
 public static Foundation.NSString GCProductCategoryHid { get; }

Added properties:

public static Foundation.NSString ArcadeStick { get; }
public static Foundation.NSString Hid { get; }

Type Changed: GameController.IGCDevicePhysicalInput

Added property:

public virtual CoreFoundation.DispatchQueue Queue { get; set; }

New Type: GameController.GCAxisInput_Extensions

public static class GCAxisInput_Extensions {
	// methods
	public static Foundation.NSSet<GCPhysicalInputSource> GetSources (this IGCAxisInput This);
}

New Type: GameController.GCButtonElementName

public class GCButtonElementName {
	// constructors
	public GCButtonElementName ();
	// methods
	public static Foundation.NSString GetArcadeButtonName (nint row, nint column);
}

New Type: GameController.GCControllerInputState

public class GCControllerInputState : Foundation.NSObject, IGCDevicePhysicalInput, IGCDevicePhysicalInputState, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public GCControllerInputState ();
	protected GCControllerInputState (Foundation.NSObjectFlag t);
	protected GCControllerInputState (IntPtr handle);
	// properties
	public virtual GameController.GCPhysicalInputElementCollection<Foundation.NSString,GameController.IGCAxisElement> Axes { get; }
	public virtual GameController.GCPhysicalInputElementCollection<Foundation.NSString,GameController.IGCButtonElement> Buttons { get; }
	public virtual IGCDevicePhysicalInputState Capture { get; }
	public override IntPtr ClassHandle { get; }
	public virtual IGCDevice Device { get; }
	public virtual GameController.GCPhysicalInputElementCollection<Foundation.NSString,GameController.IGCDirectionPadElement> Dpads { get; }
	public virtual ElementValueDidChangeHandler ElementValueDidChangeHandler { get; set; }
	public virtual GameController.GCPhysicalInputElementCollection<Foundation.NSString,GameController.IGCPhysicalInputElement> Elements { get; }
	public virtual InputStateAvailableHandler InputStateAvailableHandler { get; set; }
	public virtual nint InputStateQueueDepth { get; set; }
	public virtual double LastEventLatency { get; }
	public virtual double LastEventTimestamp { get; }
	public virtual Foundation.NSObject NextInputState { get; }
	public virtual CoreFoundation.DispatchQueue Queue { get; set; }
	public virtual GameController.GCPhysicalInputElementCollection<Foundation.NSString,GameController.IGCSwitchElement> Switches { get; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual IGCPhysicalInputElement GetObject (string key);
}

New Type: GameController.GCControllerLiveInput

public class GCControllerLiveInput : GameController.GCControllerInputState, IGCDevicePhysicalInput, IGCDevicePhysicalInputState, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	public GCControllerLiveInput ();
	protected GCControllerLiveInput (Foundation.NSObjectFlag t);
	protected GCControllerLiveInput (IntPtr handle);
	// properties
	public virtual GameController.GCPhysicalInputElementCollection<Foundation.NSString,GameController.IGCAxisElement> Axes { get; }
	public virtual GameController.GCPhysicalInputElementCollection<Foundation.NSString,GameController.IGCButtonElement> Buttons { get; }
	public virtual IGCDevicePhysicalInputState Capture { get; }
	public override IntPtr ClassHandle { get; }
	public virtual IGCDevice Device { get; }
	public virtual GameController.GCPhysicalInputElementCollection<Foundation.NSString,GameController.IGCDirectionPadElement> Dpads { get; }
	public virtual ElementValueDidChangeHandler ElementValueDidChangeHandler { get; set; }
	public virtual GameController.GCPhysicalInputElementCollection<Foundation.NSString,GameController.IGCPhysicalInputElement> Elements { get; }
	public virtual InputStateAvailableHandler InputStateAvailableHandler { get; set; }
	public virtual nint InputStateQueueDepth { get; set; }
	public virtual double LastEventLatency { get; }
	public virtual double LastEventTimestamp { get; }
	public virtual Foundation.NSObject NextInputState { get; }
	public virtual CoreFoundation.DispatchQueue Queue { get; set; }
	public virtual GameController.GCPhysicalInputElementCollection<Foundation.NSString,GameController.IGCSwitchElement> Switches { get; }
	public virtual GCControllerLiveInput UnmappedInput { get; }
	// methods
	protected override void Dispose (bool disposing);
	public virtual IGCPhysicalInputElement GetObject (string key);
}

New Type: GameController.GCDevicePhysicalInputState_Extensions

public static class GCDevicePhysicalInputState_Extensions {
	// methods
	public static GameController.GCPhysicalInputElementCollection<Foundation.NSString,GameController.IGCAxisElement> GetAxes (this IGCDevicePhysicalInputState This);
	public static GameController.GCPhysicalInputElementCollection<Foundation.NSString,GameController.IGCButtonElement> GetButtons (this IGCDevicePhysicalInputState This);
	public static GameController.GCPhysicalInputElementCollection<Foundation.NSString,GameController.IGCDirectionPadElement> GetDpads (this IGCDevicePhysicalInputState This);
	public static GameController.GCPhysicalInputElementCollection<Foundation.NSString,GameController.IGCPhysicalInputElement> GetElements (this IGCDevicePhysicalInputState This);
	public static GameController.GCPhysicalInputElementCollection<Foundation.NSString,GameController.IGCSwitchElement> GetSwitches (this IGCDevicePhysicalInputState This);
}

New Type: GameController.GCInputButtonName

[Serializable]
public enum GCInputButtonName {
	ButtonA = 0,
	ButtonB = 1,
	ButtonHome = 10,
	ButtonMenu = 11,
	ButtonOptions = 12,
	ButtonShare = 13,
	ButtonX = 2,
	ButtonY = 3,
	DualShockTouchpadButton = 18,
	LeftPaddle = 22,
	LeftShoulder = 4,
	LeftThumbstickButton = 8,
	LeftTrigger = 6,
	PedalAccelerator = 19,
	PedalBrake = 20,
	PedalClutch = 21,
	RightPaddle = 23,
	RightShoulder = 5,
	RightThumbstickButton = 9,
	RightTrigger = 7,
	XboxPaddleFour = 17,
	XboxPaddleOne = 14,
	XboxPaddleThree = 16,
	XboxPaddleTwo = 15,
}

New Type: GameController.GCInputButtonNameExtensions

public static class GCInputButtonNameExtensions {
	// methods
	public static Foundation.NSString GetConstant (this GCInputButtonName self);
	public static GCInputButtonName GetValue (Foundation.NSString constant);
}

New Type: GameController.GCInputDirectionPadName

[Serializable]
public enum GCInputDirectionPadName {
	DirectionPad = 0,
	DualShockTouchpadOne = 3,
	DualShockTouchpadTwo = 4,
	LeftThumbstick = 1,
	RightThumbstick = 2,
}

New Type: GameController.GCInputDirectionPadNameExtensions

public static class GCInputDirectionPadNameExtensions {
	// methods
	public static Foundation.NSString GetConstant (this GCInputDirectionPadName self);
	public static GCInputDirectionPadName GetValue (Foundation.NSString constant);
}

New Type: GameController.GCInputElementName

[Serializable]
public enum GCInputElementName {
	Shifter = 0,
}

New Type: GameController.GCLinearInput_Extensions

public static class GCLinearInput_Extensions {
	// methods
	public static Foundation.NSSet<GCPhysicalInputSource> GetSources (this IGCLinearInput This);
}

New Type: GameController.GCPhysicalInputElementCollection

public class GCPhysicalInputElementCollection : Foundation.NSObject {
	// constructors
	protected GCPhysicalInputElementCollection (Foundation.NSObjectFlag t);
	protected GCPhysicalInputElementCollection (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual nuint Count { get; }
}

New Type: GameController.GCPhysicalInputElementCollection`2

public sealed class GCPhysicalInputElementCollection`2 : GameController.GCPhysicalInputElementCollection {
	// constructors
	public GCPhysicalInputElementCollection`2 (Foundation.NSObjectFlag coder);
	// properties
	public Foundation.NSEnumerator<IGCPhysicalInputElement> ElementEnumerator { get; }
	// methods
	public TValue GetElement (TKey alias);
	public TValue GetObject (TKey keyedSubscript);
}

New Type: GameController.GCPhysicalInputSource

public abstract class GCPhysicalInputSource : Foundation.NSObject, IGCPhysicalInputSource, ObjCRuntime.INativeObject, System.IDisposable {
	// constructors
	protected GCPhysicalInputSource ();
	protected GCPhysicalInputSource (Foundation.NSObjectFlag t);
	protected GCPhysicalInputSource (IntPtr handle);
	// properties
	public override IntPtr ClassHandle { get; }
	public virtual GCPhysicalInputSourceDirection Direction { get; }
	public virtual Foundation.NSSet<Foundation.NSString> ElementAliases { get; }
	public virtual string ElementLocalizedName { get; }
	public virtual string SfSymbolsName { get; }
}

New Type: GameController.GCPhysicalInputSourceDirection

[Serializable]
[Flags]
public enum GCPhysicalInputSourceDirection {
	Down = 4,
	Left = 8,
	NotApplicable = 0,
	Right = 2,
	Up = 1,
}

New Type: GameController.GCPressedStateInput_Extensions

public static class GCPressedStateInput_Extensions {
	// methods
	public static Foundation.NSSet<GCPhysicalInputSource> GetSources (this IGCPressedStateInput This);
}

New Type: GameController.GCRelativeInput_Extensions

public static class GCRelativeInput_Extensions {
	// methods
	public static Foundation.NSSet<GCPhysicalInputSource> GetSources (this IGCRelativeInput This);
}

New Type: GameController.GCSwitchPositionInput_Extensions

public static class GCSwitchPositionInput_Extensions {
	// methods
	public static Foundation.NSSet<GCPhysicalInputSource> GetSources (this IGCSwitchPositionInput This);
}

New Type: GameController.GCTouchedStateInput_Extensions

public static class GCTouchedStateInput_Extensions {
	// methods
	public static Foundation.NSSet<GCPhysicalInputSource> GetSources (this IGCTouchedStateInput This);
}

New Type: GameController.IGCPhysicalInputSource

public interface IGCPhysicalInputSource : ObjCRuntime.INativeObject, System.IDisposable {
	// properties
	public virtual GCPhysicalInputSourceDirection Direction { get; }
	public virtual Foundation.NSSet<Foundation.NSString> ElementAliases { get; }
	public virtual string ElementLocalizedName { get; }
	public virtual string SfSymbolsName { get; }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment