LNXSDK/leenkx/blender/lnx/logicnode/input/LN_gamepad_sticks.py
2025-01-22 16:18:30 +01:00

52 lines
1.7 KiB
Python

from lnx.logicnode.lnx_nodes import *
class GamepadSticksNode(LnxLogicTreeNode):
"""Activates the output on the given gamepad event.
@seeNode Gamepad Coords
@input Gamepad: the ID of the gamepad.
@option state: the state of the gamepad stick to listen to.
@option stick: the gamepad stick that should activate the output.
@option axis: the gamepad stick axis value
"""
bl_idname = 'LNGamepadSticksNode'
bl_label = 'Gamepad Sticks'
lnx_version = 1
lnx_section = 'gamepad'
property0: HaxeEnumProperty(
'property0',
items = [('Started', 'Started', 'Started'),
('Down', 'Down', 'Down'),
('Released', 'Released', 'Released'),],
name='', default='Down')
property1: HaxeEnumProperty(
'property1',
items = [('LeftStick', 'LeftStick', 'LeftStick'), ('RightStick', 'RightStick', 'RightStick'),],
name='', default='LeftStick')
property2: HaxeEnumProperty(
'property2',
items = [('up', 'up', 'up'),
('down', 'down', 'down'),
('left', 'left', 'left'),
('right', 'right', 'right'),
('up-left', 'up-left', 'up-left'),
('up-right', 'up-right', 'up-right'),
('down-left', 'down-left', 'down-left'),
('down-right', 'down-right', 'down-right'),],
name='', default='up')
def lnx_init(self, context):
self.add_output('LnxNodeSocketAction', 'Out')
self.add_output('LnxBoolSocket', 'State')
self.add_input('LnxIntSocket', 'Gamepad')
def draw_buttons(self, context, layout):
layout.prop(self, 'property0')
layout.prop(self, 'property1')
layout.prop(self, 'property2')