gd: added input addon
This commit is contained in:
@ -0,0 +1,115 @@
|
||||
extends GUIDETextProvider
|
||||
|
||||
func _init():
|
||||
priority = -1
|
||||
|
||||
func _controller_names() -> Array[String]:
|
||||
return []
|
||||
|
||||
func _a_button_name() -> String:
|
||||
return "A"
|
||||
|
||||
func _b_button_name() -> String:
|
||||
return "B"
|
||||
|
||||
func _x_button_name() -> String:
|
||||
return "X"
|
||||
|
||||
func _y_button_name() -> String:
|
||||
return "Y"
|
||||
|
||||
func _left_bumper_name() -> String:
|
||||
return "LB"
|
||||
|
||||
func _right_bumper_name() -> String:
|
||||
return "RB"
|
||||
|
||||
func _left_trigger_name() -> String:
|
||||
return "LT"
|
||||
|
||||
func _right_trigger_name() -> String:
|
||||
return "RT"
|
||||
|
||||
func _back_button_name() -> String:
|
||||
return "Back"
|
||||
|
||||
func _misc_1_button_name() -> String:
|
||||
return "Misc 1"
|
||||
|
||||
func _start_button_name() -> String:
|
||||
return "Start"
|
||||
|
||||
|
||||
func supports(input:GUIDEInput) -> bool:
|
||||
var controller_name = GUIDEInputFormatter._joy_name_for_input(input)
|
||||
if controller_name == "":
|
||||
return false
|
||||
|
||||
var haystack = controller_name.to_lower()
|
||||
for needle in _controller_names():
|
||||
if haystack.contains(needle.to_lower()):
|
||||
return true
|
||||
|
||||
return false
|
||||
|
||||
func _format(input:String) -> String:
|
||||
return "[%s]" % [input]
|
||||
|
||||
|
||||
func get_text(input:GUIDEInput) -> String:
|
||||
if input is GUIDEInputJoyAxis1D:
|
||||
match input.axis:
|
||||
JOY_AXIS_LEFT_X:
|
||||
return _format(tr("Left Stick Horizontal"))
|
||||
JOY_AXIS_LEFT_Y:
|
||||
return _format(tr("Left Stick Vertical"))
|
||||
JOY_AXIS_RIGHT_X:
|
||||
return _format(tr("Right Stick Horizontal"))
|
||||
JOY_AXIS_RIGHT_Y:
|
||||
return _format(tr("Right Stick Vertical"))
|
||||
JOY_AXIS_TRIGGER_LEFT:
|
||||
return _format(tr(_left_trigger_name()))
|
||||
JOY_AXIS_TRIGGER_RIGHT:
|
||||
return _format(tr(_right_trigger_name()))
|
||||
|
||||
if input is GUIDEInputJoyAxis2D:
|
||||
match input.x:
|
||||
JOY_AXIS_LEFT_X, JOY_AXIS_LEFT_Y:
|
||||
return _format(tr("Left Stick"))
|
||||
JOY_AXIS_RIGHT_X, JOY_AXIS_RIGHT_Y:
|
||||
return _format(tr("Right Stick"))
|
||||
|
||||
if input is GUIDEInputJoyButton:
|
||||
match input.button:
|
||||
JOY_BUTTON_A:
|
||||
return _format(tr(_a_button_name()))
|
||||
JOY_BUTTON_B:
|
||||
return _format(tr(_b_button_name()))
|
||||
JOY_BUTTON_X:
|
||||
return _format(tr(_x_button_name()))
|
||||
JOY_BUTTON_Y:
|
||||
return _format(tr(_y_button_name()))
|
||||
JOY_BUTTON_DPAD_LEFT:
|
||||
return _format(tr("DPAD Left"))
|
||||
JOY_BUTTON_DPAD_RIGHT:
|
||||
return _format(tr("DPAD Right"))
|
||||
JOY_BUTTON_DPAD_UP:
|
||||
return _format(tr("DPAD Up"))
|
||||
JOY_BUTTON_DPAD_DOWN:
|
||||
return _format(tr("DPAD Down"))
|
||||
JOY_BUTTON_LEFT_SHOULDER:
|
||||
return _format(tr(_left_bumper_name()))
|
||||
JOY_BUTTON_RIGHT_SHOULDER:
|
||||
return _format(tr(_right_bumper_name()))
|
||||
JOY_BUTTON_LEFT_STICK:
|
||||
return _format(tr("Left Stick"))
|
||||
JOY_BUTTON_RIGHT_STICK:
|
||||
return _format(tr("Right Stick"))
|
||||
JOY_BUTTON_BACK:
|
||||
return _format(tr(_back_button_name()))
|
||||
JOY_BUTTON_MISC1:
|
||||
return _format(tr(_misc_1_button_name()))
|
||||
JOY_BUTTON_START:
|
||||
return _format(tr(_start_button_name()))
|
||||
|
||||
return _format("??")
|
Reference in New Issue
Block a user