diff --git a/Accelerometer.cs b/Accelerometer.cs new file mode 100644 index 0000000..40729a6 --- /dev/null +++ b/Accelerometer.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WindowsPhoneSpeedyBlupi +{ + public interface Accelerometer + { + void Start(); + void Stop(); + event EventHandler CurrentValueChanged; + } +} diff --git a/AccelerometerDummyImpl.cs b/AccelerometerDummyImpl.cs new file mode 100644 index 0000000..ffa1524 --- /dev/null +++ b/AccelerometerDummyImpl.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WindowsPhoneSpeedyBlupi +{ + public class AccelerometerDummyImpl : Accelerometer + { + public event EventHandler CurrentValueChanged; + + public void Start() + { + //throw new AccelerometerFailedException(); + } + + public void Stop() + { + //throw new AccelerometerFailedException(); + } + } +} diff --git a/AccelerometerEventArgs.cs b/AccelerometerEventArgs.cs new file mode 100644 index 0000000..c70753e --- /dev/null +++ b/AccelerometerEventArgs.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WindowsPhoneSpeedyBlupi +{ + public class AccelerometerEventArgs : EventArgs + { + + public float X { get; } + public float Y { get; } + public float Z { get; } + + public AccelerometerEventArgs(float x, float y, float z) + { + X = x; + Y = y; + Z = z; + } + } +} diff --git a/AccelerometerFactory.cs b/AccelerometerFactory.cs new file mode 100644 index 0000000..5097a8c --- /dev/null +++ b/AccelerometerFactory.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WindowsPhoneSpeedyBlupi +{ + public class AccelerometerFactory + { + public static Accelerometer Create() { return new AccelerometerDummyImpl(); } + } +} diff --git a/AccelerometerFailedException.cs b/AccelerometerFailedException.cs new file mode 100644 index 0000000..d388fa7 --- /dev/null +++ b/AccelerometerFailedException.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WindowsPhoneSpeedyBlupi +{ + public class AccelerometerFailedException : Exception + { + } +} diff --git a/InputPad.cs b/InputPad.cs index 7a9c40e..125b0e8 100644 --- a/InputPad.cs +++ b/InputPad.cs @@ -4,7 +4,6 @@ using System; using System.Collections.Generic; using System.Linq; using Microsoft.Xna.Framework.Input; -using Microsoft.Devices.Sensors; using Microsoft.Xna.Framework.Input.Touch; using WindowsPhoneSpeedyBlupi; @@ -214,8 +213,8 @@ namespace WindowsPhoneSpeedyBlupi this.sound = sound; this.gameData = gameData; pressedGlyphs = new List(); - accelSensor = new Accelerometer(); - ((SensorBase)(object)accelSensor).CurrentValueChanged += HandleAccelSensorCurrentValueChanged; + accelSensor = AccelerometerFactory.Create(); + accelSensor.CurrentValueChanged += HandleAccelSensorCurrentValueChanged; accelSlider = new Slider { TopLeftCorner = new TinyPoint @@ -856,13 +855,14 @@ namespace WindowsPhoneSpeedyBlupi accelStarted = false; } } + - private void HandleAccelSensorCurrentValueChanged(object sender, SensorReadingEventArgs e) + private void HandleAccelSensorCurrentValueChanged(object sender, AccelerometerEventArgs e) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) - AccelerometerReading sensorReading = e.SensorReading; - float y = ((AccelerometerReading)(ref sensorReading)).Acceleration.Y; + + float y = e.Y; float num = (1f - (float)gameData.AccelSensitivity) * 0.06f + 0.04f; float num2 = (accelLastState ? (num * 0.6f) : num); if (y > num2)