forked from LeenkxTeam/LNXSDK
39 lines
888 B
Haxe
39 lines
888 B
Haxe
package kha.input;
|
|
|
|
@:keep
|
|
class Sensor {
|
|
static var accelerometer: Sensor = new Sensor();
|
|
static var gyroscope: Sensor = new Sensor();
|
|
|
|
var listeners: Array<Float->Float->Float->Void> = new Array();
|
|
|
|
public static function get(type: SensorType): Sensor {
|
|
switch (type) {
|
|
case Accelerometer:
|
|
return accelerometer;
|
|
case Gyroscope:
|
|
return gyroscope;
|
|
}
|
|
}
|
|
|
|
public function notify(listener: Float->Float->Float->Void): Void {
|
|
listeners.push(listener);
|
|
}
|
|
|
|
function new() {}
|
|
|
|
public static function _accelerometerChanged(x: Float, y: Float, z: Float): Void {
|
|
var sensor = get(SensorType.Accelerometer);
|
|
for (listener in sensor.listeners) {
|
|
listener(x, y, z);
|
|
}
|
|
}
|
|
|
|
public static function _gyroscopeChanged(x: Float, y: Float, z: Float): Void {
|
|
var sensor = get(SensorType.Gyroscope);
|
|
for (listener in sensor.listeners) {
|
|
listener(x, y, z);
|
|
}
|
|
}
|
|
}
|