-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathInputAdapter.swift
More file actions
57 lines (49 loc) · 1.61 KB
/
Copy pathInputAdapter.swift
File metadata and controls
57 lines (49 loc) · 1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import Foundation
/// Czysty adapter SDK (bez BLE) — `update` + `input` w jednym miejscu.
@MainActor
/// Represents input adapter.
public final class InputAdapter {
private let sdk = MotionSDK()
/// Ostatnia ramka wejścia wyliczona przez SDK.
public var input: GameInput { sdk.input }
/// Konfiguracja przetwarzania ruchu.
public var config: MotionConfig {
get { sdk.config }
set { sdk.config = newValue }
}
/// Tworzy adapter wejścia oparty o `MotionSDK`.
public init() {}
/// Ustawia aktywny tryb pracy wejścia.
public func setMode(_ mode: MotionMode) {
sdk.setMode(mode)
}
/// Rozpoczyna skanowanie i połączenie BLE.
public func connect() { sdk.connect() }
/// Rozłącza aktywne połączenie BLE.
public func disconnect() { sdk.disconnect() }
/// Informuje, czy adapter ma aktywne połączenie BLE.
public var isConnected: Bool { sdk.isConnected }
/// Informuje, czy napływają dane BLE.
public var isReceiving: Bool { sdk.isReceiving }
@discardableResult
/// Handles `pollInput`.
///
/// - Parameters:
/// - deltaTime: Input used by this operation.
/// - Returns: Result produced by this operation.
public func pollInput(deltaTime: TimeInterval? = nil) -> GameInput {
sdk.pollInput(deltaTime: deltaTime)
}
/// Aktualizuje dane wejścia bezpośrednio surowymi wartościami.
public func update(
rawX: Double? = nil,
bytes: [UInt8] = [],
deltaTime: TimeInterval? = nil
) {
_ = sdk.update(rawX: rawX, bytes: bytes, deltaTime: deltaTime)
}
/// Resetuje stan SDK i bieżącej ramki wejścia.
public func reset() {
sdk.reset()
}
}