gcDeviceBatteryState compatibility
This commit is contained in:
@@ -21,6 +21,13 @@ typedef struct {
|
||||
float lastY;
|
||||
} controller_touch_context_t;
|
||||
|
||||
typedef NS_ENUM(NSInteger, ControllerDeviceBatteryState) {
|
||||
ControllerDeviceBatteryStateUnknown = -1,
|
||||
ControllerDeviceBatteryStateDischarging,
|
||||
ControllerDeviceBatteryStateCharging,
|
||||
ControllerDeviceBatteryStateFull
|
||||
};
|
||||
|
||||
@property (nullable, nonatomic, retain) GCController* gamepad;
|
||||
@property (nonatomic) int playerIndex;
|
||||
@property (nonatomic) int lastButtonFlags;
|
||||
@@ -53,7 +60,7 @@ typedef struct {
|
||||
#endif
|
||||
|
||||
@property (nonatomic) NSTimer* _Nullable batteryTimer;
|
||||
@property (nonatomic) GCDeviceBatteryState lastBatteryState; // to be wrapped for compatibility
|
||||
@property (nonatomic) ControllerDeviceBatteryState lastBatteryState; // self defined enum for compatibility
|
||||
@property (nonatomic) float lastBatteryLevel;
|
||||
|
||||
@property (nonatomic) BOOL reportedArrival;
|
||||
|
||||
@@ -569,7 +569,7 @@ static const double MOUSE_SPEED_DIVISOR = 1.25;
|
||||
if (controller.gamepad.battery) {
|
||||
// Poll for updated battery status every 30 seconds
|
||||
controller.batteryTimer = [NSTimer scheduledTimerWithTimeInterval:30 repeats:YES block:^(NSTimer *timer) {
|
||||
if (controller.lastBatteryState != controller.gamepad.battery.batteryState ||
|
||||
if ((GCDeviceBatteryState)controller.lastBatteryState != controller.gamepad.battery.batteryState ||
|
||||
controller.lastBatteryLevel != controller.gamepad.battery.batteryLevel) {
|
||||
uint8_t batteryState;
|
||||
|
||||
@@ -591,7 +591,7 @@ static const double MOUSE_SPEED_DIVISOR = 1.25;
|
||||
|
||||
LiSendControllerBatteryEvent(controller.playerIndex, batteryState, (uint8_t)(controller.gamepad.battery.batteryLevel * 100));
|
||||
|
||||
controller.lastBatteryState = controller.gamepad.battery.batteryState;
|
||||
controller.lastBatteryState = (ControllerDeviceBatteryState)controller.gamepad.battery.batteryState;
|
||||
controller.lastBatteryLevel = controller.gamepad.battery.batteryLevel;
|
||||
}
|
||||
}];
|
||||
|
||||
Reference in New Issue
Block a user