v2.3.1: added support for controller vibration
This commit is contained in:
@@ -84,6 +84,12 @@ public class ControllerHandler implements ControllerListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void vibrate( int millis ){
|
||||||
|
if (Controllers.getCurrent().canVibrate()) {
|
||||||
|
Controllers.getCurrent().startVibration(millis, 1f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static boolean isControllerConnected(){
|
public static boolean isControllerConnected(){
|
||||||
return controllersSupported() && Controllers.getCurrent() != null;
|
return controllersSupported() && Controllers.getCurrent() != null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import com.badlogic.gdx.graphics.Pixmap;
|
|||||||
import com.badlogic.gdx.graphics.g2d.BitmapFont;
|
import com.badlogic.gdx.graphics.g2d.BitmapFont;
|
||||||
import com.badlogic.gdx.graphics.g2d.PixmapPacker;
|
import com.badlogic.gdx.graphics.g2d.PixmapPacker;
|
||||||
import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator;
|
import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator;
|
||||||
|
import com.watabou.input.ControllerHandler;
|
||||||
import com.watabou.noosa.Game;
|
import com.watabou.noosa.Game;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -39,9 +40,11 @@ public abstract class PlatformSupport {
|
|||||||
public abstract boolean connectedToUnmeteredNetwork();
|
public abstract boolean connectedToUnmeteredNetwork();
|
||||||
|
|
||||||
public void vibrate( int millis ){
|
public void vibrate( int millis ){
|
||||||
//regular GDX vibration by default
|
if (ControllerHandler.isControllerConnected()) {
|
||||||
//TODO should this trigger controller vibration if available?
|
ControllerHandler.vibrate(millis);
|
||||||
Gdx.input.vibrate( millis );
|
} else {
|
||||||
|
Gdx.input.vibrate( millis );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setHonorSilentSwitch( boolean value ){
|
public void setHonorSilentSwitch( boolean value ){
|
||||||
|
|||||||
+7
-2
@@ -29,6 +29,7 @@ import com.badlogic.gdx.graphics.g2d.PixmapPacker;
|
|||||||
import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator;
|
import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.SPDSettings;
|
import com.shatteredpixel.shatteredpixeldungeon.SPDSettings;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
|
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
|
||||||
|
import com.watabou.input.ControllerHandler;
|
||||||
import com.watabou.noosa.Game;
|
import com.watabou.noosa.Game;
|
||||||
import com.watabou.utils.PlatformSupport;
|
import com.watabou.utils.PlatformSupport;
|
||||||
|
|
||||||
@@ -82,8 +83,12 @@ public class IOSPlatformSupport extends PlatformSupport {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void vibrate( int millis ){
|
public void vibrate( int millis ){
|
||||||
if (Gdx.input.isPeripheralAvailable(Input.Peripheral.HapticFeedback)){
|
if (ControllerHandler.isControllerConnected()){
|
||||||
super.vibrate( millis );
|
if (ControllerHandler.isControllerConnected()) {
|
||||||
|
ControllerHandler.vibrate(millis);
|
||||||
|
}
|
||||||
|
} else if (Gdx.input.isPeripheralAvailable(Input.Peripheral.HapticFeedback)){
|
||||||
|
Gdx.input.vibrate( millis );
|
||||||
} else {
|
} else {
|
||||||
//devices without haptics support use a short vibrate on iPhone 6+, no vibration otherwise
|
//devices without haptics support use a short vibrate on iPhone 6+, no vibration otherwise
|
||||||
AudioServices.playSystemSound(1520);
|
AudioServices.playSystemSound(1520);
|
||||||
|
|||||||
Reference in New Issue
Block a user