Update leenkx/blender/lnx/logicnode/custom/LN_leenkx_event.py

This commit is contained in:
Onek8 2025-04-03 09:37:54 +00:00
parent cb93ede7d7
commit fa65c02e8a

View File

@ -1,110 +1,111 @@
from lnx.logicnode.lnx_nodes import * from lnx.logicnode.lnx_nodes import *
class LeenkxEventNode(LnxLogicTreeNode): class LeenkxEventNode(LnxLogicTreeNode):
"""Leenkx Event""" """Leenkx Event"""
bl_idname = 'LNLeenkxEventNode' bl_idname = 'LNLeenkxEventNode'
bl_label = 'Leenkx Event' bl_label = 'Leenkx Event'
bl_description = 'Trigger an event from the network passing both data and ID' bl_description = 'Trigger an event from the network passing both data and ID'
lnx_category = 'Leenkx' lnx_category = 'Leenkx'
lnx_version = 1 lnx_version = 1
@staticmethod @staticmethod
def get_enum_id_value(obj, prop_name, value): def get_enum_id_value(obj, prop_name, value):
return obj.bl_rna.properties[prop_name].enum_items[value].identifier return obj.bl_rna.properties[prop_name].enum_items[value].identifier
@staticmethod @staticmethod
def get_count_in(type_name): def get_count_in(type_name):
return { return {
'client': 0, 'client': 0,
'host': 1, 'host': 1,
'securehost': 2 'securehost': 2
}.get(type_name, 0) }.get(type_name, 0)
def get_enum(self): def get_enum(self):
return self.get('property0', 0) return self.get('property0', 0)
def set_enum(self, value): def set_enum(self, value):
# Checking the selection of each type # Checking the selection of each type
select_current = self.get_enum_id_value(self, 'property0', value) select_current = self.get_enum_id_value(self, 'property0', value)
select_prev = self.property0 select_prev = self.property0
#Check if type changed #Check if type changed
if select_prev != select_current: if select_prev != select_current:
for i in self.inputs: for i in self.inputs:
self.inputs.remove(i) self.inputs.remove(i)
# Arguements for type Client # Arguements for type Client
if (self.get_count_in(select_current) == 0): if (self.get_count_in(select_current) == 0):
self.add_input('LnxStringSocket', 'Url', default_value="8001") self.add_input('LnxStringSocket', 'Url', default_value="8001")
# Arguements for type Host # Arguements for type Host
if (self.get_count_in(select_current) == 1): if (self.get_count_in(select_current) == 1):
self.add_input('LnxStringSocket', 'Domain', default_value="127.0.0.1") self.add_input('LnxStringSocket', 'Domain', default_value="127.0.0.1")
self.add_input('LnxIntSocket', 'Port', default_value=8001) self.add_input('LnxIntSocket', 'Port', default_value=8001)
# Arguements for type Secure Host # Arguements for type Secure Host
if (self.get_count_in(select_current) == 2): if (self.get_count_in(select_current) == 2):
self.add_input('LnxStringSocket', 'Domain', default_value="127.0.0.1") self.add_input('LnxStringSocket', 'Domain', default_value="127.0.0.1")
self.add_input('LnxIntSocket', 'Port', default_value=8001) self.add_input('LnxIntSocket', 'Port', default_value=8001)
self['property0'] = value self['property0'] = value
property0: HaxeEnumProperty( property0: HaxeEnumProperty(
'property0', 'property0',
items = [('client', 'Client', 'Network client Event listener'), items = [('client', 'Client', 'Network client Event listener'),
('host', 'Host', 'Network host Event listener'), ('host', 'Host', 'Network host Event listener'),
('securehost', 'Secure Host', 'Network secure host Event listener')], ('securehost', 'Secure Host', 'Network secure host Event listener')],
name='', name='',
default='client', default='client',
set=set_enum, set=set_enum,
get=get_enum) get=get_enum)
property1: HaxeEnumProperty( property1: HaxeEnumProperty(
'property1', 'property1',
items = [('onopen', 'OnOpen', 'Listens to onOpen event'), items = [('onopen', 'OnOpen', 'Listens to onOpen event'),
('onmessage', 'OnMessage', 'Listens to onMessage event'), ('onmessage', 'OnMessage', 'Listens to onMessage event'),
('onerror', 'OnError', 'Listens to onError event'), ('onerror', 'OnError', 'Listens to onError event'),
('onclose', 'OnClose', 'Listens to onClose event'), ('onclose', 'OnClose', 'Listens to onClose event'),
('onseen', 'OnSeen', 'Listens to onClose event'), ('onseen', 'OnSeen', 'Listens to onClose event'),
('onserver', 'OnServer', 'Listens to onClose event'), ('onserver', 'OnServer', 'Listens to onClose event'),
('onconnections', 'OnConnections', 'Listens to onClose event'), ('onconnections', 'OnConnections', 'Listens to onClose event'),
('onping', 'OnPing', 'Listens to onClose event'), ('onping', 'OnPing', 'Listens to onClose event'),
('onleft', 'OnLeft', 'Listens to onClose event'), ('onleft', 'OnLeft', 'Listens to onClose event'),
('ontimeout', 'OnTimeout', 'Listens to onClose event'), ('ontimeout', 'OnTimeout', 'Listens to onClose event'),
('onrpc', 'OnRpc', 'Listens to onClose event'), ('onrpc', 'OnRpc', 'Listens to onClose event'),
('onrpcresponse', 'OnRpcResponse', 'Listens to onClose event'), ('onrpcresponse', 'OnRpcResponse', 'Listens to onClose event'),
('onwireleft', 'OnWireLeft', 'Listens to onClose event'), ('onwireleft', 'OnWireLeft', 'Listens to onClose event'),
('onwireseen', 'OnWireSeen', 'Listens to onClose event'), ('onwireseen', 'OnWireSeen', 'Listens to onClose event'),
('ontorrent', 'OnTorrent', 'Listens to onClose event'), ('ontorrent', 'OnTorrent', 'Listens to onClose event'),
('ontracker', 'OnTracker', 'Listens to onClose event'), ('ontracker', 'OnTracker', 'Listens to onClose event'),
('onannounce', 'OnAnnounce', 'Listens to onClose event')], ('onannounce', 'OnAnnounce', 'Listens to onClose event')],
name='', name='',
default='onopen') default='onopen')
def __init__(self): def __init__(self, *args, **kwargs):
array_nodes[str(id(self))] = self super(LeenkxEventNode, self).__init__(*args, **kwargs)
array_nodes[str(id(self))] = self
def lnx_init(self, context):
#self.add_input('LnxNodeSocketAction', 'In') def lnx_init(self, context):
self.add_input('LnxStringSocket', 'Url', default_value="ws://127.0.0.1:8001") #self.add_input('LnxNodeSocketAction', 'In')
self.add_input('LnxStringSocket', 'Url', default_value="ws://127.0.0.1:8001")
self.add_output('LnxNodeSocketAction', 'Out')
self.add_output('LnxDynamicSocket', 'ID') self.add_output('LnxNodeSocketAction', 'Out')
self.add_output('LnxDynamicSocket', 'Data') self.add_output('LnxDynamicSocket', 'ID')
self.add_output('LnxDynamicSocket', 'Data')
def draw_buttons(self, context, layout):
layout.prop(self, 'property0') def draw_buttons(self, context, layout):
layout.prop(self, 'property1') layout.prop(self, 'property0')
layout.prop(self, 'property1')
def register():
add_category('Leenkx', icon='ORIENTATION_CURSOR') def register():
add_category('Leenkx', icon='ORIENTATION_CURSOR')
LeenkxEventNode.on_register() LeenkxEventNode.on_register()