123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- # Copyright (C) 2022-2023 John Pennycook
- # SPDX-License-Identifier: MIT
- @tool
- class_name JoypadButtonTextures
- extends Resource
- ## Textures used by a [JoypadButtonPrompt] or [ActionPrompt].
- ##
- ## Textures used by a [JoypadButtonPrompt] or [ActionPrompt]. Stores a texture
- ## for each joypad button index.
- ## Texture for Joypad Button 0 (Bottom Action, Sony Cross, Xbox A, Nintendo B)
- @export var button_0: Texture2D = null
- ## Texture for Joypad Button 1 (Right Action, Sony Circle, Xbox B, Nintendo A)
- @export var button_1: Texture2D = null
- ## Texture for Joypad Button 2 (Left Action, Sony Square, Xbox X, Nintendo Y)
- @export var button_2: Texture2D = null
- ## Texture for Joypad Button 3 (Top Action, Sony Triangle, Xbox Y, Nintendo X)
- @export var button_3: Texture2D = null
- ## Texture for Joypad Button 4 (Back, Sony Select, Xbox Back, Nintendo -)
- @export var button_4: Texture2D = null
- ## Texture for Joypad Button 5 (Guide, Sony PS, Xbox Home)
- @export var button_5: Texture2D = null
- ## Texture for Joypad Button 6 (Start, Nintendo +)
- @export var button_6: Texture2D = null
- ## Texture for Joypad Button 7 (Left Stick, Sony L3, Xbox L/LS)
- @export var button_7: Texture2D = null
- ## Texture for Joypad Button 8 (Right Stick, Sony R3, Xbox R/RS)
- @export var button_8: Texture2D = null
- ## Texture for Joypad Button 8 (Left Shoulder, Sony L1, Xbox LB)
- @export var button_9: Texture2D = null
- ## Texture for Joypad Button 9 (Right Shoulder, Sony R1, Xbox RB)
- @export var button_10: Texture2D = null
- ## Texture for Joypad Button 11 (D-pad Up)
- @export var button_11: Texture2D = null
- ## Texture for Joypad Button 12 (D-pad Down)
- @export var button_12: Texture2D = null
- ## Texture for Joypad Button 13 (D-pad Left)
- @export var button_13: Texture2D = null
- ## Texture for Joypad Button 14 (D-pad Right)
- @export var button_14: Texture2D = null
- ## Texture for Joypad Button 15 (Xbox Share, PS5 Microphone, Nintendo Capture)
- @export var button_15: Texture2D = null
- ## Texture for Joypad Button 16 (Xbox Paddle 1)
- @export var button_16: Texture2D = null
- ## Texture for Joypad Button 17 (Xbox Paddle 2)
- @export var button_17: Texture2D = null
- ## Texture for Joypad Button 18 (Xbox Paddle 3)
- @export var button_18: Texture2D = null
- ## Texture for Joypad Button 10 (Xbox Paddle 4)
- @export var button_19: Texture2D = null
- ## Texture for Joypad Button 20 (Xbox Paddle 2)
- @export var button_20: Texture2D = null
- ## Return the [Texture2D] associated with the specified [InputEvent], or null.
- func get_texture(event: InputEvent) -> Texture2D:
- if not event is InputEventJoypadButton:
- return null
- var joypad_event := event as InputEventJoypadButton
- var button := joypad_event.button_index
- return get("button_" + str(button))
|