/**
 * 执行 {{pascalCase logicNode.name}} 节点
 *
 * @protected
 * @memberof {{pascalCase uiLogic.codeName}}UILogicBase
 */
protected async execute_{{logicNode.codeName}}_node() {
{{#if (and (and logicNode.eventName logicNode.eventParam) logicNode.fireCtrl)}}
    try {
        // 触发UI对象
        const fireUICtrl = this.getParam('{{logicNode.fireCtrl.codeName}}').getReal();
        // 事件参数
        const eventArgs = this.getParam('{{logicNode.eventParam.codeName}}').getReal();
        if (!fireUICtrl) {
            throw new Error(`获取触发对象异常`);
        }
        // 自身触发
        fireUICtrl.emit("{{logicNode.eventName}}", eventArgs);
        this.bindLastReturnParam(null);
        {{> @macro/logic-node/next-node.hbs}}
    } catch(error:any) {
        throw new Error(`执行{{logicNode.name}}节点视图部件（{{logicNode.fireCtrl.codeName}}）事件（{{logicNode.eventName}}）触发未执行成功！`);
    }
{{else}}
    throw new Error(`触发对象、事件名称或者事件参数缺失`);
{{/if}}
}
