armory/Sources/armory/logicnode/GamepadCoordsNode.hx

45 lines
943 B
Haxe
Raw Normal View History

2017-04-10 21:17:17 +02:00
package armory.logicnode;
2017-11-20 15:16:52 +01:00
import iron.math.Vec4;
2017-04-10 21:17:17 +02:00
class GamepadCoordsNode extends LogicNode {
var coords = new Vec4();
2019-12-19 23:54:08 +01:00
public function new(tree: LogicTree) {
2017-04-10 21:17:17 +02:00
super(tree);
}
2019-12-19 23:54:08 +01:00
override function get(from: Int): Dynamic {
var num: Int = inputs[0].get();
2017-11-20 15:16:52 +01:00
var gamepad = iron.system.Input.getGamepad(num);
2017-04-10 21:17:17 +02:00
if (from == 0) {
coords.x = gamepad.leftStick.x;
coords.y = gamepad.leftStick.y;
return coords;
}
else if (from == 1) {
coords.x = gamepad.rightStick.x;
coords.y = gamepad.rightStick.y;
return coords;
}
else if (from == 2) {
coords.x = gamepad.leftStick.movementX;
coords.y = gamepad.leftStick.movementY;
return coords;
}
else if (from == 3) {
coords.x = gamepad.rightStick.movementX;
coords.y = gamepad.rightStick.movementY;
return coords;
2019-12-19 23:54:08 +01:00
}
else if (from == 4) {
return gamepad.down("l2");
2019-12-19 23:54:08 +01:00
}
else if (from == 5) {
return gamepad.down("r2");
2017-04-10 21:17:17 +02:00
}
return null;
}
}