• Unity Bolt模块间通信


            使用Bolt无代码设计开发的时候,我们不能简单的认为只需要一个FlowMachine就可以完成所有流程的开发。我们需要不同的模块进行拆分,以便更好的管理和协作。这就需要不同模块之间的通信处理。经过研究与使用,将常用的通信方式总结如下:

    1:C#向FlowMachine之间的传递消息:

            1:在FlowMachine自定义一个事件,如下图

            

            2:使用CustomEvent.Trigger方法进行触发

    CustomEvent.Trigger(subject.gameObject, "Start", subjectIndex);

    需要注意的是,在调用该方法的时候,绑定FlowMachine的gameobject及所在层级需要激活,否则事件无法触发。

    2:FlowMachine向C#传递消息

            1、新建一个C#组件:

    1. using UnityEngine;
    2. public class BoltSubject : MonoBehaviour
    3. {
    4. [SerializeField]
    5. public int subjectCount;
    6. public void SubmitSubject(bool isRight)
    7. {
    8. StartCoroutine( FindObjectOfType().DoEffect(isRight));
    9. }
    10. }

            2、更新BoltOptions

            

            3、将所在gameobject挂上该组件,并在FlowMachine中使用

            

    3:FlowMachine之间的通信

            1、如情况1介绍那样在FlowMachine新建一个事件:

            

            2、在主动触发的FlowMachine进行触发该事件:(注意挂FlowMachine的gameobject及所在层级也需要激活。)

            

    以上就是常用的Bolt常用的事件触发方式,希望对使用Bolt的小伙伴们有所帮助。

  • 相关阅读:
    OpenHarmony中Element类是什么?
    2—C++程序设计:C++简单程序设计
    软件项目管理 8.1.软件质量基本概念
    MATLAB程序设计与应用 3.5 稀疏矩阵
    作为一个初学者该如何学习kali linux?
    设计模式 - 工厂方法模式
    698. 划分为k个相等的子集
    支撑向量机SVM
    Day774.能向 Redis 学到什么 -Redis 核心技术与实战
    OA项目之待开会议&所有会议
  • 原文地址:https://blog.csdn.net/liulei199079/article/details/133177859