1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- # Copyright (C) 2022-2023 John Pennycook
- # SPDX-License-Identifier: MIT
- @tool
- class_name JoypadMotionTextures
- extends Resource
- ## Textures used by a [JoypadMotionPrompt] or [ActionPrompt].
- ##
- ## Textures used by a [JoypadMotionPrompt] or [ActionPrompt]. Stores a texture
- ## for each joypad axis and value.
- ## Texture for Axis 0 - (Left Stick Left, Joystick 0 Left)
- @export var axis_0_minus: Texture2D = null
- ## Texture for Axis 0 + (Left Stick Right, Joystick 0 Right)
- @export var axis_0_plus: Texture2D = null
- ## Texture for Axis 1 - (Left Stick Up, Joystick 0 Up)
- @export var axis_1_minus: Texture2D = null
- ## Texture for Axis 1 + (Left Stick Down, Joystick 0 Down)
- @export var axis_1_plus: Texture2D = null
- ## Texture for Axis 2 - (Right Stick Left, Joystick 1 Left)
- @export var axis_2_minus: Texture2D = null
- ## Texture for Axis 2 + (Right Stick Right, Joystick 1 Right)
- @export var axis_2_plus: Texture2D = null
- ## Texture for Axis 3 - (Right Stick Up, Joystick 1 Up)
- @export var axis_3_minus: Texture2D = null
- ## Texture for Axis 3 + (Left Stick Down, Joystick 1 Down)
- @export var axis_3_plus: Texture2D = null
- ## Texture for Axis 4 - (Joystick 2 Left)
- @export var axis_4_minus: Texture2D = null
- ## Texture for Axis 4 + (Left Trigger, Sony L2, Xbox LT, Joystick 2 Right)
- @export var axis_4_plus: Texture2D = null
- ## Texture for Axis 5 - (Joystick 2 Up)
- @export var axis_5_minus: Texture2D = null
- ## Texture for Axis 5 + (Right Trigger, Sony R2, Xbox RT, Joystick 2 Down)
- @export var axis_5_plus: Texture2D = null
- ## Return the [Texture2D] associated with the specified [InputEvent], or null.
- func get_texture(event: InputEvent) -> Texture2D:
- if not event is InputEventJoypadMotion:
- return null
- var motion_event := event as InputEventJoypadMotion
- var axis = motion_event.axis
- var axis_value = motion_event.axis_value
- var suffix := "_minus" if axis_value == -1 else "_plus"
- return get("axis_" + str(axis) + suffix)
|