Procházet zdrojové kódy

Updates to build with latest joystick changes.
This breaks joysticks on android until they can be
ported to the "new way"... but at least it should build.


git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@9763 75d07b2b-3a1a-0410-a2c5-0572b91ccdca

PSp..om před 13 roky
rodič
revize
bd2695061d

+ 49 - 14
engine/src/android/com/jme3/input/android/AndroidSensorJoyInput.java

@@ -41,9 +41,12 @@ import android.os.Vibrator;
 import android.view.Display;
 import android.view.Surface;
 import android.view.WindowManager;
+import com.jme3.input.AbstractJoystick;
 import com.jme3.input.InputManager;
 import com.jme3.input.JoyInput;
 import com.jme3.input.Joystick;
+import com.jme3.input.JoystickAxis;
+import com.jme3.input.JoystickButton;
 import com.jme3.input.RawInputListener;
 import com.jme3.input.event.JoyAxisEvent;
 import com.jme3.math.FastMath;
@@ -502,13 +505,16 @@ public class AndroidSensorJoyInput implements JoyInput, SensorEventListener {
                     // orientValues[2] is the Y axis -> JoyAxisEvent Axis 1
                     // orientValues[0] is the Z axis -> JoyAxisEvent Axis 2
                     if (Math.abs(deltaOrientation[0]) > FastMath.ZERO_TOLERANCE) {
-                        eventQueue.add(new JoyAxisEvent(0, 0, orientValues[1] / maxOrientationValues[1]));
+                        // FIXME: need to be able to pass the axis instead of raw IDs here
+                        //eventQueue.add(new JoyAxisEvent(0, 0, orientValues[1] / maxOrientationValues[1]));
                     }
                     if (Math.abs(deltaOrientation[1]) > FastMath.ZERO_TOLERANCE) {
-                        eventQueue.add(new JoyAxisEvent(0, 1, orientValues[2] / maxOrientationValues[2]));
+                        // FIXME: need to be able to pass the axis instead of raw IDs here
+                        //eventQueue.add(new JoyAxisEvent(0, 1, orientValues[2] / maxOrientationValues[2]));
                     }
                     if (Math.abs(deltaOrientation[2]) > FastMath.ZERO_TOLERANCE) {
-                        eventQueue.add(new JoyAxisEvent(0, 2, orientValues[0] / maxOrientationValues[0]));
+                        // FIXME: need to be able to pass the axis instead of raw IDs here
+                        //eventQueue.add(new JoyAxisEvent(0, 2, orientValues[0] / maxOrientationValues[0]));
                     }
                 }
 
@@ -578,13 +584,13 @@ public class AndroidSensorJoyInput implements JoyInput, SensorEventListener {
         // is not an actual physical sensor
         // Do the orientation joystick first so it is compatible with PC systems
         // that only have a single joystick configured.
-        joystick = new Joystick(inputManager,
+        joystick = new AndroidJoystick(inputManager,
                                     this,
                                     joyIndex,
-                                    "Device Orientation",
-                                    0, // button count
-                                    3, // axis count
-                                    0, 1); // xAxis, yAxis
+                                    "Device Orientation" ); //,
+                                    //0, // button count
+                                    //3, // axis count
+                                    //0, 1); // xAxis, yAxis
         joysticks[joyIndex] = joystick;
         joyIndex++;
 
@@ -594,13 +600,13 @@ public class AndroidSensorJoyInput implements JoyInput, SensorEventListener {
             if (sensorData != null) {
                 if (sensorData.sensor != null && sensorData.createJoystick) {
                     sensorData.joyID = joyIndex;
-                    joystick = new Joystick(inputManager,
+                    joystick = new AndroidJoystick(inputManager,
                                                 this,
                                                 joyIndex,
-                                                sensorData.joyName,
-                                                0, // button count
-                                                sensorData.lastValues.length, // axis count
-                                                0, 1); // xAxis, yAxis
+                                                sensorData.joyName );//,
+                                                //0, // button count
+                                                //sensorData.lastValues.length, // axis count
+                                                //0, 1); // xAxis, yAxis
                     joysticks[joyIndex] = joystick;
                     joyIndex++;
 
@@ -682,7 +688,9 @@ public class AndroidSensorJoyInput implements JoyInput, SensorEventListener {
                     synchronized (eventQueue){
                         for (int i=0; i<deltaValues.length; i++) {
                             if (FastMath.abs(deltaValues[i]) > sensorData.lastValues[i] + FastMath.ZERO_TOLERANCE) {
-                                eventQueue.add(new JoyAxisEvent(sensorData.joyID, i, se.values[i]));
+                            
+                                // FIXME: need to be able to pass the axis instead of raw IDs here
+                                //eventQueue.add(new JoyAxisEvent(sensorData.joyID, i, se.values[i]));
                             }
                         }
                     }
@@ -716,4 +724,31 @@ public class AndroidSensorJoyInput implements JoyInput, SensorEventListener {
 
     // End of SensorEventListener methods
 
+    protected class AndroidJoystick extends AbstractJoystick {
+ 
+        public AndroidJoystick( InputManager inputManager, JoyInput joyInput,
+                               int joyId, String name){
+            super( inputManager, joyInput, joyId, name );                                
+        }
+ 
+        @Override
+        public JoystickAxis getXAxis() {
+            throw new UnsupportedOperationException();
+        }     
+
+        @Override
+        public JoystickAxis getYAxis() {
+            throw new UnsupportedOperationException();
+        }     
+
+        @Override
+        public JoystickAxis getPovXAxis() {
+            throw new UnsupportedOperationException();
+        }     
+
+        @Override
+        public JoystickAxis getPovYAxis() {
+            throw new UnsupportedOperationException();
+        }     
+    }
 }